diff options
author | marha <marha@users.sourceforge.net> | 2013-07-25 09:24:55 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-07-25 09:24:55 +0200 |
commit | af62a89a4e677bc0a10094be86816b2e273b2c4a (patch) | |
tree | 3cceb0e23b7ab79dbcedb27c5546cf2666c1c7a0 /xorg-server/hw/xwin/InitOutput.c | |
parent | de54c5b749b3eefb75d420840c889533a58aa342 (diff) | |
parent | acf3535c75d7c79154b6b89c66567317944d244c (diff) | |
download | vcxsrv-af62a89a4e677bc0a10094be86816b2e273b2c4a.tar.gz vcxsrv-af62a89a4e677bc0a10094be86816b2e273b2c4a.tar.bz2 vcxsrv-af62a89a4e677bc0a10094be86816b2e273b2c4a.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
xserver mesa git update 25 Jul 2013
Conflicts:
xorg-server/hw/xwin/win.h
xorg-server/hw/xwin/winclipboardthread.c
xorg-server/hw/xwin/winglobals.c
xorg-server/hw/xwin/winmouse.c
xorg-server/hw/xwin/winmultiwindowclass.c
xorg-server/hw/xwin/winscrinit.c
xorg-server/hw/xwin/winwin32rootless.c
xorg-server/hw/xwin/winwin32rootlesswndproc.c
xorg-server/hw/xwin/winwindow.h
xorg-server/hw/xwin/winwindowswm.c
xorg-server/hw/xwin/winwndproc.c
Diffstat (limited to 'xorg-server/hw/xwin/InitOutput.c')
-rw-r--r-- | xorg-server/hw/xwin/InitOutput.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c index f194d535f..c45de8331 100644 --- a/xorg-server/hw/xwin/InitOutput.c +++ b/xorg-server/hw/xwin/InitOutput.c @@ -183,6 +183,25 @@ ddxBeforeReset(void) } #endif +int +main(int argc, char *argv[], char *envp[]) +{ + int iReturn; + + /* Create & acquire the termination mutex */ + iReturn = pthread_mutex_init(&g_pmTerminating, NULL); + if (iReturn != 0) { + ErrorF("ddxMain - pthread_mutex_init () failed: %d\n", iReturn); + } + + iReturn = pthread_mutex_lock(&g_pmTerminating); + if (iReturn != 0) { + ErrorF("ddxMain - pthread_mutex_lock () failed: %d\n", iReturn); + } + + return dix_main(argc, argv, envp); +} + /* See Porting Layer Definition - p. 57 */ void ddxGiveUp(enum ExitCode error) @@ -238,6 +257,19 @@ ddxGiveUp(enum ExitCode error) /* Tell Windows that we want to end the app */ PostQuitMessage(0); + + { + winDebug("ddxGiveUp - Releasing termination mutex\n"); + + int iReturn = pthread_mutex_unlock(&g_pmTerminating); + + if (iReturn != 0) { + ErrorF("winMsgWindowProc - pthread_mutex_unlock () failed: %d\n", + iReturn); + } + } + + winDebug("ddxGiveUp - End\n"); } /* See Porting Layer Definition - p. 57 */ @@ -978,6 +1010,10 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[]) /* Store the instance handle */ g_hInstance = GetModuleHandle(NULL); + /* Create the messaging window */ + if (serverGeneration == 1) + winCreateMsgWindowThread(); + /* Initialize each screen */ for (i = 0; i < g_iNumScreens; ++i) { /* Initialize the screen */ |