summaryrefslogtreecommitdiff
path: root/src/process.c
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2014-03-04 16:23:30 +1300
committerRobert Ancell <robert.ancell@canonical.com>2014-03-04 16:23:30 +1300
commited90f15eb81a8001512a4ff0e8f0602a7c2a0c5e (patch)
tree52eacd6e1582a0519bcb6ebbd87bf9091e7bf20e /src/process.c
parent442ec61615355012e6d9258582153dc3539841ff (diff)
downloadlightdm-ed90f15eb81a8001512a4ff0e8f0602a7c2a0c5e.tar.gz
More carefully remove GSources
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/process.c b/src/process.c
index 3010eb0e..24155d77 100644
--- a/src/process.c
+++ b/src/process.c
@@ -149,6 +149,7 @@ process_watch_cb (GPid pid, gint status, gpointer data)
{
Process *process = data;
+ process->priv->watch = 0;
process->priv->exit_status = status;
if (WIFEXITED (status))
@@ -156,10 +157,6 @@ process_watch_cb (GPid pid, gint status, gpointer data)
else if (WIFSIGNALED (status))
g_debug ("Process %d terminated with signal %d", pid, WTERMSIG (status));
- if (process->priv->watch)
- g_source_remove (process->priv->watch);
- process->priv->watch = 0;
-
if (process->priv->quit_timeout)
g_source_remove (process->priv->quit_timeout);
process->priv->quit_timeout = 0;