g_unix_open_pipe: fix some bugs

Fix some bugs in the fallback case of g_unix_open_pipe:

  - close both halves of the pipe on error (not just one)

  - set the cloexec flag on both halves of the pipe (instead of settings
    it twice on one half)
This commit is contained in:
Ryan Lortie 2011-07-25 15:25:13 +02:00
parent aa4d704e63
commit 15a1cf8049

View File

@ -113,9 +113,10 @@ g_unix_open_pipe (int *fds,
{
int saved_errno = errno;
close (fds[0]);
close (fds[1]);
return g_unix_set_error_from_errno (error, saved_errno);
}
ecode = fcntl (fds[0], flags);
ecode = fcntl (fds[1], flags);
if (ecode == -1)
{
int saved_errno = errno;