xserver: Branch 'master' - 2 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Tue Jun 10 01:47:36 PDT 2008


 hw/xquartz/bundle/Resources/X11.icns |binary
 hw/xquartz/darwinEvents.c            |    4 ++++
 hw/xquartz/mach-startup/stub.c       |   10 ++++++++++
 3 files changed, 14 insertions(+)

New commits:
commit 5170c169db78cad3fe47dee4e438b48e67f0c7d1
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Tue Jun 10 01:39:15 2008 -0700

    XQuartz: Fixed the "laggy" startup under the new model.  This was caused by xinit blocking expecting SIGUSR1 and our stub never sending it.
    (cherry picked from commit ee92aced10d0743c4658e53b58b5d9f5a094a415)

diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
index 151aaa0..911aac7 100644
--- a/hw/xquartz/darwinEvents.c
+++ b/hw/xquartz/darwinEvents.c
@@ -350,6 +350,10 @@ Bool DarwinEQInit(void) {
     
     QuartzModeEQInit();
 
+    /* Note that this *could* cause a potential async issue, since we're checking
+     * darwinEvents without holding the lock, but darwinEvents is only ever set
+     * here, so I don't bother.
+     */
     if (!darwinEvents) {
         darwinEvents = (xEvent *)xcalloc(sizeof(xEvent), GetMaximumEventsNum());
         
diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
index d48ae74..7d98752 100644
--- a/hw/xquartz/mach-startup/stub.c
+++ b/hw/xquartz/mach-startup/stub.c
@@ -214,6 +214,7 @@ int main(int argc, char **argv, char **envp) {
     int launchd_fd;
     string_t handoff_socket_filename;
 #endif
+    sig_t handler;
 
     if(argc == 2 && !strcmp(argv[1], "-version")) {
         fprintf(stderr, "X.org Release 7.3\n");
@@ -222,6 +223,15 @@ int main(int argc, char **argv, char **envp) {
         return EXIT_SUCCESS;
     }
 
+    /* We don't have a mechanism in place to handle this interrupt driven
+     * server-start notification, so just send the signal now, so xinit doesn't
+     * time out waiting for it and will just poll for the server.
+     */
+    handler = signal(SIGUSR1, SIG_IGN);
+    if(handler == SIG_IGN)
+        kill(getppid(), SIGUSR1);
+    signal(SIGUSR1, handler);
+    
 #ifdef NEW_LAUNCH_METHOD
     /* Get the $DISPLAY FD */
     launchd_fd = launchd_display_fd();
commit 01ace5f3fd56bc789ad7448059fcf907ef19a1c8
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Wed Jun 4 18:28:20 2008 -0700

    XQuartz: Updated icon with more rsolutions and made it more dark-background friendly
    (cherry picked from commit d8cf5623faab952a0f1196c8fe10baa09d1fc089)

diff --git a/hw/xquartz/bundle/Resources/X11.icns b/hw/xquartz/bundle/Resources/X11.icns
index d19cc63..d9d2f76 100644
Binary files a/hw/xquartz/bundle/Resources/X11.icns and b/hw/xquartz/bundle/Resources/X11.icns differ


More information about the xorg-commit mailing list