summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@freedesktop.org>2009-07-28 22:52:33 -0700
committerJeremy Huddleston <jeremyhu@freedesktop.org>2009-07-28 22:52:33 -0700
commitf430cda0fdcc1a8fc5f4795743b40f09ff0bd869 (patch)
tree804c8dbcda0819c1526895bb2bff5ae3fdc1aaca
parent227c6e01a641b72158201553273299283cdb5599 (diff)
XQuartz: Avoid a possible spinlock in applicationWillTerminate
-rw-r--r--hw/xquartz/X11Controller.m5
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);
}