summaryrefslogtreecommitdiff
path: root/ext/sdbm/_sdbm.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sdbm/_sdbm.c')
-rw-r--r--ext/sdbm/_sdbm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/sdbm/_sdbm.c b/ext/sdbm/_sdbm.c
index 9b1cef45b0..c348808d31 100644
--- a/ext/sdbm/_sdbm.c
+++ b/ext/sdbm/_sdbm.c
@@ -226,6 +226,9 @@ sdbm_prep(char *dirname, char *pagname, int flags, int mode)
* If we fail anywhere, undo everything, return NULL.
*/
flags |= O_BINARY;
+#ifdef O_CLOEXEC
+ flags |= O_CLOEXEC;
+#endif
if ((db->pagf = open(pagname, flags, mode)) == -1) goto err;
if (fd_set_cloexec(db->pagf) == -1) goto err;