diff options
author | William Jon McCann <jmccann@redhat.com> | 2008-08-15 17:13:36 +0000 |
---|---|---|
committer | William Jon McCann <mccann@src.gnome.org> | 2008-08-15 17:13:36 +0000 |
commit | f5d6584fa8d60ab78ec2307ab7a8787fb6895a91 (patch) | |
tree | 2dfcff0a8bd05eaf6072e2eecec02fba9cf6f1e1 /daemon/gdm-session-worker-job.c | |
parent | 146a464aa0208523e174e65dcbfaa362375bc921 (diff) | |
download | gdm-f5d6584fa8d60ab78ec2307ab7a8787fb6895a91.tar.gz |
Use a callback for the fatal handler instead of supplying the main_loop.
2008-08-15 William Jon McCann <jmccann@redhat.com>
* common/gdm-signal-handler.c (signal_io_watch),
(gdm_signal_handler_set_fatal_func):
* common/gdm-signal-handler.h:
* daemon/factory-slave-main.c (main):
* daemon/gdm-session-direct.c (stop_worker):
* daemon/gdm-session-worker-job.c (session_worker_job_child_watch):
* daemon/main.c (main):
* daemon/product-slave-main.c (main):
* daemon/session-worker-main.c (main):
* daemon/simple-slave-main.c (main):
* daemon/xdmcp-chooser-slave-main.c (main):
Use a callback for the fatal handler instead of supplying
the main_loop.
svn path=/trunk/; revision=6382
Diffstat (limited to 'daemon/gdm-session-worker-job.c')
-rw-r--r-- | daemon/gdm-session-worker-job.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/daemon/gdm-session-worker-job.c b/daemon/gdm-session-worker-job.c index 01d8b35a..bb302458 100644 --- a/daemon/gdm-session-worker-job.c +++ b/daemon/gdm-session-worker-job.c @@ -100,6 +100,10 @@ session_worker_job_child_watch (GPid pid, WIFEXITED (status) ? WEXITSTATUS (status) : WIFSIGNALED (status) ? WTERMSIG (status) : -1); + + g_spawn_close_pid (job->priv->pid); + job->priv->pid = -1; + if (WIFEXITED (status)) { int code = WEXITSTATUS (status); g_signal_emit (job, signals [EXITED], 0, code); @@ -107,9 +111,6 @@ session_worker_job_child_watch (GPid pid, int num = WTERMSIG (status); g_signal_emit (job, signals [DIED], 0, num); } - - g_spawn_close_pid (job->priv->pid); - job->priv->pid = -1; } static void |