summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--apr.dsp8
-rw-r--r--libapr.dsp8
-rw-r--r--locks/win32/global_mutex.c21
4 files changed, 32 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index bf661084b..357c4b7f9 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,6 @@
Changes with APR b1
+ *) Implement apr_global_lock_foo() on Win32
+ [Bill Stoddard]
*) Fix select() argument call when waiting for IO. PR 9674.
[David MacKenzie <djm@pix.net>]
diff --git a/apr.dsp b/apr.dsp
index 83148fa92..af7a1b242 100644
--- a/apr.dsp
+++ b/apr.dsp
@@ -170,6 +170,10 @@ SOURCE=.\i18n\unix\xlate.c
# PROP Default_Filter ""
# Begin Source File
+SOURCE=.\locks\win32\global_mutex.c
+# End Source File
+# Begin Source File
+
SOURCE=.\locks\win32\locks.c
# End Source File
# Begin Source File
@@ -518,6 +522,10 @@ SOURCE=.\include\apr_getopt.h
# End Source File
# Begin Source File
+SOURCE=.\include\apr_global_mutex.h
+# End Source File
+# Begin Source File
+
SOURCE=.\include\apr_hash.h
# End Source File
# Begin Source File
diff --git a/libapr.dsp b/libapr.dsp
index fc9b386d5..8827878e9 100644
--- a/libapr.dsp
+++ b/libapr.dsp
@@ -176,6 +176,10 @@ SOURCE=.\i18n\unix\xlate.c
# PROP Default_Filter ""
# Begin Source File
+SOURCE=.\locks\win32\global_mutex.c
+# End Source File
+# Begin Source File
+
SOURCE=.\locks\win32\locks.c
# End Source File
# Begin Source File
@@ -524,6 +528,10 @@ SOURCE=.\include\apr_getopt.h
# End Source File
# Begin Source File
+SOURCE=.\include\apr_global_mutex.h
+# End Source File
+# Begin Source File
+
SOURCE=.\include\apr_hash.h
# End Source File
# Begin Source File
diff --git a/locks/win32/global_mutex.c b/locks/win32/global_mutex.c
index 24f73b1c2..95e6e461c 100644
--- a/locks/win32/global_mutex.c
+++ b/locks/win32/global_mutex.c
@@ -53,14 +53,17 @@
*/
#include "apr.h"
+#include "apr_lock.h"
#include "apr_strings.h"
+#include "apr_global_mutex.h"
+#include "proc_mutex.h"
APR_DECLARE(apr_status_t) apr_global_mutex_create(apr_global_mutex_t **mutex,
const char *fname,
apr_lockmech_e mech,
apr_pool_t *pool)
{
- return APR_ENOTIMPL;
+ return apr_proc_mutex_create((apr_proc_mutex_t **) mutex, fname, mech, pool);
}
APR_DECLARE(apr_status_t) apr_global_mutex_child_init(
@@ -68,28 +71,32 @@ APR_DECLARE(apr_status_t) apr_global_mutex_child_init(
const char *fname,
apr_pool_t *pool)
{
- return APR_ENOTIMPL;
+ return apr_proc_mutex_child_init((apr_proc_mutex_t**) mutex, fname, pool);
}
APR_DECLARE(apr_status_t) apr_global_mutex_lock(apr_global_mutex_t *mutex)
{
- return APR_ENOTIMPL;
+ return apr_proc_mutex_lock((apr_proc_mutex_t*) mutex);
}
APR_DECLARE(apr_status_t) apr_global_mutex_trylock(apr_global_mutex_t *mutex)
{
- return APR_ENOTIMPL;
+ return apr_proc_mutex_trylock((apr_proc_mutex_t* )mutex);
}
APR_DECLARE(apr_status_t) apr_global_mutex_unlock(apr_global_mutex_t *mutex)
{
- return APR_ENOTIMPL;
+ return apr_proc_mutex_unlock((apr_proc_mutex_t*) mutex);
}
APR_DECLARE(apr_status_t) apr_global_mutex_destroy(apr_global_mutex_t *mutex)
{
- return APR_ENOTIMPL;
+ return apr_proc_mutex_destroy((apr_proc_mutex_t*) mutex);
+}
+
+APR_DECLARE(apr_pool_t*) apr_global_mutex_pool_get(const apr_global_mutex_t *mutex)
+{
+ return apr_proc_mutex_pool_get((apr_proc_mutex_t*) mutex);
}
-APR_POOL_IMPLEMENT_ACCESSOR(global_mutex)