diff options
Diffstat (limited to 'daemon/gdm-session-worker-job.c')
-rw-r--r-- | daemon/gdm-session-worker-job.c | 36 |
1 files changed, 1 insertions, 35 deletions
diff --git a/daemon/gdm-session-worker-job.c b/daemon/gdm-session-worker-job.c index 01ca4ea2..4de8cf31 100644 --- a/daemon/gdm-session-worker-job.c +++ b/daemon/gdm-session-worker-job.c @@ -289,50 +289,16 @@ gdm_session_worker_job_start (GdmSessionWorkerJob *session_worker_job, return res; } -static void -session_worker_job_died (GdmSessionWorkerJob *session_worker_job) -{ - int exit_status; - - g_debug ("GdmSessionWorkerJob: Waiting on process %d", session_worker_job->priv->pid); - exit_status = gdm_wait_on_pid (session_worker_job->priv->pid); - - if (WIFEXITED (exit_status) && (WEXITSTATUS (exit_status) != 0)) { - g_debug ("GdmSessionWorkerJob: Wait on child process failed"); - } else { - /* exited normally */ - } - - g_spawn_close_pid (session_worker_job->priv->pid); - session_worker_job->priv->pid = -1; - - g_debug ("GdmSessionWorkerJob: SessionWorkerJob died"); -} - gboolean gdm_session_worker_job_stop (GdmSessionWorkerJob *session_worker_job) { - int res; - if (session_worker_job->priv->pid <= 1) { return TRUE; } - /* remove watch source before we can wait on child */ - if (session_worker_job->priv->child_watch_id > 0) { - g_source_remove (session_worker_job->priv->child_watch_id); - session_worker_job->priv->child_watch_id = 0; - } - g_debug ("GdmSessionWorkerJob: Stopping job pid:%d", session_worker_job->priv->pid); - res = gdm_signal_pid (session_worker_job->priv->pid, SIGTERM); - - if (res < 0) { - g_warning ("Unable to kill session worker process"); - } else { - session_worker_job_died (session_worker_job); - } + gdm_signal_pid (session_worker_job->priv->pid, SIGTERM); return TRUE; } |