1
0
mirror of https://gitlab.gnome.org/GNOME/glib.git synced 2025-07-28 04:43:28 +02:00

CLOEXEC fix for older FreeBSDs and OS X.

Some older POSIX-flavored operating systems may not have adopted
O_CLOEXEC yet.

See https://bugzilla.gnome.org/show_bug.cgi?id=712136.
This commit is contained in:
Andrew Walton
2013-11-12 13:04:49 -08:00
committed by Matthias Clasen
parent f969f1fc25
commit 4382e8b876

@@ -108,6 +108,12 @@
#define O_BINARY 0
#endif
#ifndef O_CLOEXEC
#define O_CLOEXEC 0
#else
#define HAVE_O_CLOEXEC 1
#endif
#define COMMUNICATE_READ_SIZE 4096
/* A GSubprocess can have two possible states: running and not.
@@ -356,6 +362,10 @@ unix_open_file (const char *filename,
g_free (display_name);
/* fall through... */
}
#ifndef HAVE_O_CLOEXEC
else
fcntl (my_fd, F_SETFD, FD_CLOEXEC);
#endif
return my_fd;
}