From f430cda0fdcc1a8fc5f4795743b40f09ff0bd869 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Tue, 28 Jul 2009 22:52:33 -0700 Subject: [PATCH] XQuartz: Avoid a possible spinlock in applicationWillTerminate --- hw/xquartz/X11Controller.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); }