]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Merge with trunk
authorRobert Ancell <robert.ancell@canonical.com>
Sat, 20 Jul 2013 10:49:31 +0000 (22:49 +1200)
committerRobert Ancell <robert.ancell@canonical.com>
Sat, 20 Jul 2013 10:49:31 +0000 (22:49 +1200)
1  2 
tests/src/X.c
tests/src/Xvnc.c

diff --cc tests/src/X.c
index bf31f74978e68251231d640df3bd90fd6a815d2a,34d373c430e0fc5a04195680325d26f1f17f710f..7d7864096e76c6a110aeb0bd6d0b86b27cdd1300
@@@ -58,40 -59,17 +58,39 @@@ quit (int status
  }
  
  static void
 -signal_cb (int signum)
 +indicate_ready (void)
  {
 -    if (signum == SIGHUP)
 +    void *handler;  
 +    handler = signal (SIGUSR1, SIG_IGN);
 +    if (handler == SIG_IGN)
      {
 -        status_notify ("XSERVER-%d DISCONNECT-CLIENTS", display_number);
 -    }
 -    else
 -    {
 -        status_notify ("XSERVER-%d TERMINATE SIGNAL=%d", display_number, signum);
 -        quit (EXIT_SUCCESS);
 +        status_notify ("XSERVER-%d INDICATE-READY", display_number);
 +        kill (getppid (), SIGUSR1);
      }
-     indicate_ready ();
 +    signal (SIGUSR1, handler);
 +}
 +
 +static gboolean
 +sighup_cb (gpointer user_data)
 +{
 +    status_notify ("XSERVER-%d DISCONNECT-CLIENTS", display_number);
 +    return TRUE;
 +}
 +
 +static gboolean
 +sigint_cb (gpointer user_data)
 +{
 +    status_notify ("XSERVER-%d TERMINATE SIGNAL=%d", display_number, SIGINT);
 +    quit (EXIT_SUCCESS);
 +    return TRUE;
 +}
 +
 +static gboolean
 +sigterm_cb (gpointer user_data)
 +{
 +    status_notify ("XSERVER-%d TERMINATE SIGNAL=%d", display_number, SIGTERM);
 +    quit (EXIT_SUCCESS);
 +    return TRUE;
  }
  
  static void
index 2518b1824be190ee1d167aed1d3c6845b7f43bc9,4c1a60a9cd884c0e88a5be26e05b4f6c28c53eb1..abea6ea8a43c4b530025fd6322555b44c6937364
@@@ -56,28 -44,18 +43,27 @@@ quit (int status
      exit (status);
  }
  
 -static void
 -signal_cb (int signum)
 +static gboolean
 +sighup_cb (gpointer user_data)
  {
 -    if (signum == SIGHUP)
 -    {
 -        status_notify ("XSERVER-%d DISCONNECT-CLIENTS", display_number);
 -    }
 -    else
 -    {
 -        status_notify ("XSERVER-%d TERMINATE SIGNAL=%d", display_number, signum);
 -        quit (EXIT_SUCCESS);
 -    }
 +    status_notify ("XSERVER-%d DISCONNECT-CLIENTS", display_number);
-     indicate_ready ();
 +    return TRUE;
 +}
 +
 +static gboolean
 +sigint_cb (gpointer user_data)
 +{
 +    status_notify ("XSERVER-%d TERMINATE SIGNAL=%d", display_number, SIGINT);
 +    quit (EXIT_SUCCESS);
 +    return TRUE;
 +}
 +
 +static gboolean
 +sigterm_cb (gpointer user_data)
 +{
 +    status_notify ("XSERVER-%d TERMINATE SIGNAL=%d", display_number, SIGTERM);
 +    quit (EXIT_SUCCESS);
 +    return TRUE;
  }
  
  static void