diff options
author | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2009-07-28 22:52:33 -0700 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2009-07-28 22:52:33 -0700 |
commit | f430cda0fdcc1a8fc5f4795743b40f09ff0bd869 (patch) | |
tree | 804c8dbcda0819c1526895bb2bff5ae3fdc1aaca | |
parent | 227c6e01a641b72158201553273299283cdb5599 (diff) |
XQuartz: Avoid a possible spinlock in applicationWillTerminate
-rw-r--r-- | hw/xquartz/X11Controller.m | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m index 9477e94db..990053705 100644 --- a/hw/xquartz/X11Controller.m +++ b/hw/xquartz/X11Controller.m @@ -781,13 +781,16 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row - (void) applicationWillTerminate:(NSNotification *)aNotification { + unsigned remain; [X11App prefs_synchronize]; /* shutdown the X server, it will exit () for us. */ DarwinSendDDXEvent(kXquartzQuit, 0); /* In case it doesn't, exit anyway after a while. */ - while (sleep (10) != 0) ; + remain = 10000000; + while((remain = usleep(remain)) > 0); + exit (1); } |