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)
{
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;