diff options
author | bojan <bojan@13f79535-47bb-0310-9956-ffa450edef68> | 2009-03-03 22:42:54 +0000 |
---|---|---|
committer | bojan <bojan@13f79535-47bb-0310-9956-ffa450edef68> | 2009-03-03 22:42:54 +0000 |
commit | eb27dfddfba3ec1714d5b49552050a051468f3df (patch) | |
tree | 71fa06b66fb81255b986dc2109597c067841e8fa /file_io | |
parent | 960e57d868248de789052ba5d7a8d3bd5fbcfedf (diff) | |
download | libapr-eb27dfddfba3ec1714d5b49552050a051468f3df.tar.gz |
Only set CLOEXEC on dup() if both NOCLEANUP and INHERIT flags are clear.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@749810 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'file_io')
-rw-r--r-- | file_io/unix/filedup.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/file_io/unix/filedup.c b/file_io/unix/filedup.c index 56d6ab086..d40004fae 100644 --- a/file_io/unix/filedup.c +++ b/file_io/unix/filedup.c @@ -35,12 +35,12 @@ static apr_status_t file_dup(apr_file_t **new_file, return APR_EINVAL; } #ifdef HAVE_DUP3 - if (!(old_file->flags & APR_INHERIT)) + if (!(old_file->flags & (APR_FILE_NOCLEANUP|APR_INHERIT))) flags |= O_CLOEXEC; rv = dup3(old_file->filedes, (*new_file)->filedes, flags); #else rv = dup2(old_file->filedes, (*new_file)->filedes); - if (!(old_file->flags & APR_INHERIT)) { + if (!(old_file->flags & (APR_FILE_NOCLEANUP|APR_INHERIT))) { int flags; if (rv == -1) |