+2002-09-23 Arvind Samptur <arvind.samptur@wipro.com>
+ * glib/gspawn.c (fork_exec_with_pipes) : when the child fails
+ we need to reap it to avoid a zombie. This would
+ happen in case of g_spawn_sync. Fixes #92658
+
2002-09-20 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_msg_handler): Don't print
+2002-09-23 Arvind Samptur <arvind.samptur@wipro.com>
+ * glib/gspawn.c (fork_exec_with_pipes) : when the child fails
+ we need to reap it to avoid a zombie. This would
+ happen in case of g_spawn_sync. Fixes #92658
+
2002-09-20 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_msg_handler): Don't print
+2002-09-23 Arvind Samptur <arvind.samptur@wipro.com>
+ * glib/gspawn.c (fork_exec_with_pipes) : when the child fails
+ we need to reap it to avoid a zombie. This would
+ happen in case of g_spawn_sync. Fixes #92658
+
2002-09-20 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_msg_handler): Don't print
+2002-09-23 Arvind Samptur <arvind.samptur@wipro.com>
+ * glib/gspawn.c (fork_exec_with_pipes) : when the child fails
+ we need to reap it to avoid a zombie. This would
+ happen in case of g_spawn_sync. Fixes #92658
+
2002-09-20 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_msg_handler): Don't print
+2002-09-23 Arvind Samptur <arvind.samptur@wipro.com>
+ * glib/gspawn.c (fork_exec_with_pipes) : when the child fails
+ we need to reap it to avoid a zombie. This would
+ happen in case of g_spawn_sync. Fixes #92658
+
2002-09-20 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_msg_handler): Don't print
+2002-09-23 Arvind Samptur <arvind.samptur@wipro.com>
+ * glib/gspawn.c (fork_exec_with_pipes) : when the child fails
+ we need to reap it to avoid a zombie. This would
+ happen in case of g_spawn_sync. Fixes #92658
+
2002-09-20 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_msg_handler): Don't print
+2002-09-23 Arvind Samptur <arvind.samptur@wipro.com>
+ * glib/gspawn.c (fork_exec_with_pipes) : when the child fails
+ we need to reap it to avoid a zombie. This would
+ happen in case of g_spawn_sync. Fixes #92658
+
2002-09-20 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_msg_handler): Don't print
gint *standard_error,
GError **error)
{
- gint pid;
+ gint pid = -1;
gint stdin_pipe[2] = { -1, -1 };
gint stdout_pipe[2] = { -1, -1 };
gint stderr_pipe[2] = { -1, -1 };
}
cleanup_and_fail:
+
+ /* There was an error from the Child, reap the child to avoid it being
+ a zombie.
+ */
+
+ if (pid > 0)
+ {
+ wait_failed:
+ if (waitpid (pid, NULL, 0) < 0)
+ {
+ if (errno == EINTR)
+ goto wait_failed;
+ else if (errno == ECHILD)
+ ; /* do nothing, child already reaped */
+ else
+ g_warning ("waitpid() should not fail in "
+ "'fork_exec_with_pipes'");
+ }
+ }
+
close_and_invalidate (&child_err_report_pipe[0]);
close_and_invalidate (&child_err_report_pipe[1]);
close_and_invalidate (&child_pid_report_pipe[0]);