summaryrefslogtreecommitdiff
path: root/file_io
diff options
context:
space:
mode:
authorstas <stas@13f79535-47bb-0310-9956-ffa450edef68>2004-09-24 23:15:38 +0000
committerstas <stas@13f79535-47bb-0310-9956-ffa450edef68>2004-09-24 23:15:38 +0000
commit0eefb9a4a2f048a46a0bee598254893ddf3bc791 (patch)
tree2f7bcbc5be3799ec30a6a992e73202c903080a35 /file_io
parentdbb08ba7a61f6702f962e15de8a5c2d502883006 (diff)
downloadlibapr-0eefb9a4a2f048a46a0bee598254893ddf3bc791.tar.gz
fix apr_file_dup and apr_file_dup2 win32 implementations
to create a mutex PR: Obtained from: Submitted by: Steve Hay <steve.hay uk.radan.com> Reviewed by: stas git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/APR_0_9_BRANCH@65349 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'file_io')
-rw-r--r--file_io/win32/filedup.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/file_io/win32/filedup.c b/file_io/win32/filedup.c
index c6fa99142..851e9c8c7 100644
--- a/file_io/win32/filedup.c
+++ b/file_io/win32/filedup.c
@@ -44,6 +44,13 @@ APR_DECLARE(apr_status_t) apr_file_dup(apr_file_t **new_file,
(*new_file)->buffered = FALSE;
(*new_file)->ungetchar = old_file->ungetchar;
+#if APR_HAS_THREADS
+ if (old_file->mutex) {
+ apr_thread_mutex_create(&((*new_file)->mutex),
+ APR_THREAD_MUTEX_DEFAULT, p);
+ }
+#endif
+
apr_pool_cleanup_register((*new_file)->pool, (void *)(*new_file), file_cleanup,
apr_pool_cleanup_null);
@@ -114,6 +121,13 @@ APR_DECLARE(apr_status_t) apr_file_dup2(apr_file_t *new_file,
new_file->buffered = FALSE;
new_file->ungetchar = old_file->ungetchar;
+#if APR_HAS_THREADS
+ if (old_file->mutex) {
+ apr_thread_mutex_create(&(new_file->mutex),
+ APR_THREAD_MUTEX_DEFAULT, p);
+ }
+#endif
+
return APR_SUCCESS;
#endif /* !defined(_WIN32_WCE) */
}