+Sun Mar 14 13:23:36 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gspawn.c: Use fork1() not fork for
+ G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
+
Sun Mar 14 12:58:30 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: if _POLL_EMUL_H is defined, undefine
+Sun Mar 14 13:23:36 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gspawn.c: Use fork1() not fork for
+ G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
+
Sun Mar 14 12:58:30 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: if _POLL_EMUL_H is defined, undefine
+Sun Mar 14 13:23:36 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gspawn.c: Use fork1() not fork for
+ G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
+
Sun Mar 14 12:58:30 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: if _POLL_EMUL_H is defined, undefine
+Sun Mar 14 13:23:36 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gspawn.c: Use fork1() not fork for
+ G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
+
Sun Mar 14 12:58:30 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: if _POLL_EMUL_H is defined, undefine
+Sun Mar 14 13:23:36 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gspawn.c: Use fork1() not fork for
+ G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
+
Sun Mar 14 12:58:30 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: if _POLL_EMUL_H is defined, undefine
+Sun Mar 14 13:23:36 2004 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gspawn.c: Use fork1() not fork for
+ G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
+
Sun Mar 14 12:58:30 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: if _POLL_EMUL_H is defined, undefine
#include "glibintl.h"
+/* With solaris threads, fork() duplicates all threads, which
+ * a) could cause unexpected side-effects, and b) is expensive.
+ * Once we remove support for solaris threads, the FORK1 #define
+ * should be removedl
+ */
+#ifdef G_THREADS_IMPL_SOLARIS
+#define FORK1() fork1()
+#else
+#define FORK1() fork()
+#endif
+
static gint g_execute (const gchar *file,
gchar **argv,
gchar **envp,
if (standard_error && !make_pipe (stderr_pipe, error))
goto cleanup_and_fail;
- pid = fork ();
+ pid = FORK1 ();
if (pid < 0)
{
*/
GPid grandchild_pid;
- grandchild_pid = fork ();
+ grandchild_pid = FORK1 ();
if (grandchild_pid < 0)
{