Make unlock of the backbuffer correctly restore the contents.
[wine/hacks.git] / scheduler / process.c
blob1ff115cb56b37f819260294f38c1e710d3146f45
1 /*
2 * Win32 processes
4 * Copyright 1996, 1998 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #include "config.h"
22 #include "wine/port.h"
24 #include <stdlib.h>
25 #include <stdio.h>
26 #include <string.h>
27 #ifdef HAVE_UNISTD_H
28 # include <unistd.h>
29 #endif
30 #include "wine/library.h"
31 #include "file.h"
32 #include "wine/server.h"
34 unsigned int server_startticks;
36 /***********************************************************************
37 * ExitProcess (KERNEL32.@)
39 void WINAPI ExitProcess( DWORD status )
41 LdrShutdownProcess();
42 SERVER_START_REQ( terminate_process )
44 /* send the exit code to the server */
45 req->handle = GetCurrentProcess();
46 req->exit_code = status;
47 wine_server_call( req );
49 SERVER_END_REQ;
50 exit( status );
54 /***********************************************************************
55 * GetTickCount (KERNEL32.@)
57 * Returns the number of milliseconds, modulo 2^32, since the start
58 * of the wineserver.
60 DWORD WINAPI GetTickCount(void)
62 struct timeval t;
63 gettimeofday( &t, NULL );
64 return ((t.tv_sec * 1000) + (t.tv_usec / 1000)) - server_startticks;