summaryrefslogtreecommitdiffstats
path: root/shared/os-compatibility.c
diff options
context:
space:
mode:
Diffstat (limited to 'shared/os-compatibility.c')
-rw-r--r--shared/os-compatibility.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c
index 4bf7d81..681a544 100644
--- a/shared/os-compatibility.c
+++ b/shared/os-compatibility.c
@@ -403,3 +403,18 @@ os_ro_anonymous_file_put_fd(int fd)
return 0;
}
+
+int
+os_fd_clear_cloexec(int fd)
+{
+ int flags;
+
+ flags = fcntl(fd, F_GETFD);
+ if (flags == -1)
+ return -1;
+
+ if (fcntl(fd, F_SETFD, flags & ~(int)FD_CLOEXEC) == -1)
+ return -1;
+
+ return 0;
+}