summaryrefslogtreecommitdiff
path: root/glib/gmappedfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/gmappedfile.c')
-rw-r--r--glib/gmappedfile.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/glib/gmappedfile.c b/glib/gmappedfile.c
index 16b38b358..4d7a89eb2 100644
--- a/glib/gmappedfile.c
+++ b/glib/gmappedfile.c
@@ -50,6 +50,10 @@
#endif
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
+
#include "gconvert.h"
#include "gerror.h"
#include "gfileutils.h"
@@ -252,7 +256,7 @@ g_mapped_file_new (const gchar *filename,
g_return_val_if_fail (filename != NULL, NULL);
g_return_val_if_fail (!error || *error == NULL, NULL);
- fd = g_open (filename, (writable ? O_RDWR : O_RDONLY) | _O_BINARY, 0);
+ fd = g_open (filename, (writable ? O_RDWR : O_RDONLY) | _O_BINARY | O_CLOEXEC, 0);
if (fd == -1)
{
int save_errno = errno;