summaryrefslogtreecommitdiff
path: root/file_io
diff options
context:
space:
mode:
authorbojan <bojan@13f79535-47bb-0310-9956-ffa450edef68>2009-03-03 22:42:54 +0000
committerbojan <bojan@13f79535-47bb-0310-9956-ffa450edef68>2009-03-03 22:42:54 +0000
commiteb27dfddfba3ec1714d5b49552050a051468f3df (patch)
tree71fa06b66fb81255b986dc2109597c067841e8fa /file_io
parent960e57d868248de789052ba5d7a8d3bd5fbcfedf (diff)
downloadlibapr-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.c4
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)