summaryrefslogtreecommitdiff
path: root/file_io/unix/mktemp.c
diff options
context:
space:
mode:
Diffstat (limited to 'file_io/unix/mktemp.c')
-rw-r--r--file_io/unix/mktemp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/file_io/unix/mktemp.c b/file_io/unix/mktemp.c
index 8ac2f91bf..22e0bd5d3 100644
--- a/file_io/unix/mktemp.c
+++ b/file_io/unix/mktemp.c
@@ -202,9 +202,11 @@ APR_DECLARE(apr_status_t) apr_file_mktemp(apr_file_t **fp, char *template, apr_i
apr_os_file_put(fp, &fd, flags, p);
(*fp)->fname = apr_pstrdup(p, template);
- apr_pool_cleanup_register((*fp)->pool, (void *)(*fp),
- apr_unix_file_cleanup,
- apr_unix_child_file_cleanup);
+ if (!(flags & APR_FILE_NOCLEANUP)) {
+ apr_pool_cleanup_register((*fp)->pool, (void *)(*fp),
+ apr_unix_file_cleanup,
+ apr_unix_child_file_cleanup);
+ }
#endif
return APR_SUCCESS;
}