+Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gmain.c (check_for_child_exited): Don't
+ call waitpid() on a source that has already exited.
+
+ * glib/gmain.c (g_child_watch_check): Return TRUE
+ only if the child actually exited.
+
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
+Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gmain.c (check_for_child_exited): Don't
+ call waitpid() on a source that has already exited.
+
+ * glib/gmain.c (g_child_watch_check): Return TRUE
+ only if the child actually exited.
+
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
+Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gmain.c (check_for_child_exited): Don't
+ call waitpid() on a source that has already exited.
+
+ * glib/gmain.c (g_child_watch_check): Return TRUE
+ only if the child actually exited.
+
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
+Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gmain.c (check_for_child_exited): Don't
+ call waitpid() on a source that has already exited.
+
+ * glib/gmain.c (g_child_watch_check): Return TRUE
+ only if the child actually exited.
+
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
+Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gmain.c (check_for_child_exited): Don't
+ call waitpid() on a source that has already exited.
+
+ * glib/gmain.c (g_child_watch_check): Return TRUE
+ only if the child actually exited.
+
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
+Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gmain.c (check_for_child_exited): Don't
+ call waitpid() on a source that has already exited.
+
+ * glib/gmain.c (g_child_watch_check): Return TRUE
+ only if the child actually exited.
+
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
#else /* G_OS_WIN32 */
-static void
+static gboolean
check_for_child_exited (GSource *source)
{
GChildWatchSource *child_watch_source;
child_watch_source = (GChildWatchSource *) source;
+ if (child_watch_source->child_exited)
+ return TRUE;
+
if (child_watch_source->count < count)
{
gint child_status;
}
child_watch_source->count = count;
}
+
+ return child_watch_source->child_exited;
}
static gboolean
child_watch_source = (GChildWatchSource *) source;
- check_for_child_exited (source);
-
- return child_watch_source->child_exited;
+ return check_for_child_exited (source);
}
child_watch_source = (GChildWatchSource *) source;
- return (child_watch_source->count < child_watch_count);
+ return check_for_child_exited (source);
}
#endif /* G_OS_WIN32 */