diff options
| author | Archie Cobbs <archie@FreeBSD.org> | 2002-11-15 00:34:28 +0000 |
|---|---|---|
| committer | Archie Cobbs <archie@FreeBSD.org> | 2002-11-15 00:34:28 +0000 |
| commit | e46cac58cd0cbc204924c3c9f228da301144fb93 (patch) | |
| tree | 5257fa4ee9fba5465825a9d2080355f8a3253189 /lib | |
| parent | ac244ef31f728c5da747573a19e7a2ba42eed622 (diff) | |
Notes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/libc_r/uthread/uthread_execve.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libc_r/uthread/uthread_execve.c b/lib/libc_r/uthread/uthread_execve.c index 612f9039a2ed..c0aa31c559cc 100644 --- a/lib/libc_r/uthread/uthread_execve.c +++ b/lib/libc_r/uthread/uthread_execve.c @@ -69,6 +69,10 @@ _execve(const char *name, char *const * argv, char *const * envp) /* Check if this file descriptor is in use: */ if (_thread_fd_table[i] != NULL && (_thread_fd_getflags(i) & O_NONBLOCK) == 0) { + /* Skip if the close-on-exec flag is set */ + flags = __sys_fcntl(i, F_GETFD, NULL); + if ((flags & FD_CLOEXEC) != 0) + continue; /* don't bother, no point */ /* Get the current flags: */ flags = __sys_fcntl(i, F_GETFL, NULL); /* Clear the nonblocking file descriptor flag: */ |
