diff options
Diffstat (limited to 'lib/libutil/pidfile.c')
-rw-r--r-- | lib/libutil/pidfile.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/lib/libutil/pidfile.c b/lib/libutil/pidfile.c index ba9575678b2b..60f81fd5d0ad 100644 --- a/lib/libutil/pidfile.c +++ b/lib/libutil/pidfile.c @@ -117,7 +117,7 @@ pidfile_open(const char *path, mode_t mode, pid_t *pidptr) * pidfile_write() can be called multiple times. */ fd = flopen(pfh->pf_path, - O_WRONLY | O_CREAT | O_TRUNC | O_NONBLOCK, mode); + O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC | O_NONBLOCK, mode); if (fd == -1) { if (errno == EWOULDBLOCK && pidptr != NULL) { count = 20; @@ -139,19 +139,6 @@ pidfile_open(const char *path, mode_t mode, pid_t *pidptr) } /* - * Prevent the file descriptor from escaping to other - * programs via exec(3). - */ - if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) { - error = errno; - unlink(pfh->pf_path); - close(fd); - free(pfh); - errno = error; - return (NULL); - } - - /* * Remember file information, so in pidfile_write() we are sure we write * to the proper descriptor. */ |