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
|
#define O_BINARY 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef O_CLOEXEC
|
||||||
|
#define O_CLOEXEC 0
|
||||||
|
#else
|
||||||
|
#define HAVE_O_CLOEXEC 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#define COMMUNICATE_READ_SIZE 4096
|
#define COMMUNICATE_READ_SIZE 4096
|
||||||
|
|
||||||
/* A GSubprocess can have two possible states: running and not.
|
/* A GSubprocess can have two possible states: running and not.
|
||||||
@ -356,6 +362,10 @@ unix_open_file (const char *filename,
|
|||||||
g_free (display_name);
|
g_free (display_name);
|
||||||
/* fall through... */
|
/* fall through... */
|
||||||
}
|
}
|
||||||
|
#ifndef HAVE_O_CLOEXEC
|
||||||
|
else
|
||||||
|
fcntl (my_fd, F_SETFD, FD_CLOEXEC);
|
||||||
|
#endif
|
||||||
|
|
||||||
return my_fd;
|
return my_fd;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user