mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01: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:
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user