gtester: Use FD_CLOEXEC when creating pipes

We were already unsetting the cloexec flag for the child later,
just not actually starting with it.

https://bugzilla.gnome.org/show_bug.cgi?id=692404
This commit is contained in:
Colin Walters 2013-01-23 11:51:48 -05:00
parent 5932e16acd
commit d8874e58a7

View File

@ -20,6 +20,7 @@
#include "config.h" #include "config.h"
#include <glib.h> #include <glib.h>
#include <glib-unix.h>
#include <gstdio.h> #include <gstdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -285,12 +286,13 @@ launch_test_binary (const char *binary,
gboolean loop_pending; gboolean loop_pending;
gint i = 0; gint i = 0;
if (pipe (report_pipe) < 0) if (!g_unix_open_pipe (report_pipe, FD_CLOEXEC, &error))
{ {
if (subtest_mode_fatal) if (subtest_mode_fatal)
g_error ("Failed to open pipe for test binary: %s: %s", binary, g_strerror (errno)); g_error ("Failed to open pipe for test binary: %s: %s", binary, error->message);
else else
g_warning ("Failed to open pipe for test binary: %s: %s", binary, g_strerror (errno)); g_warning ("Failed to open pipe for test binary: %s: %s", binary, error->message);
g_clear_error (&error);
return FALSE; return FALSE;
} }