diff options
author | jim <jim@13f79535-47bb-0310-9956-ffa450edef68> | 2002-06-07 14:04:34 +0000 |
---|---|---|
committer | jim <jim@13f79535-47bb-0310-9956-ffa450edef68> | 2002-06-07 14:04:34 +0000 |
commit | f1cd0b106da70b4d2c287222f238db48548221e3 (patch) | |
tree | a1e2d223ee191cded201c3d991ffce55604b8b3b /locks | |
parent | 2302a67c7b4252a6a886207099840bbcfc1f0248 (diff) | |
download | libapr-f1cd0b106da70b4d2c287222f238db48548221e3.tar.gz |
Added 2 additional lock functions: apr_proc_mutex_name and
apr_proc_mutex_defname which returns the type name of the mutex
(eg: "sysvsem") as well as the default mutex type (APR_LOCK_DEFAULT).
Mostly useful under Unix were the locktypes are selectable.
apr_proc_mutex_name takes a *apr_proc_mutex_t argument, whereas
apr_proc_mutex_defname takes (and requires) none. For those systems
that don't have selectable mutex types, I've "thought up" names
that made sense... feel free to modify :)
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63470 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'locks')
-rw-r--r-- | locks/beos/proc_mutex.c | 10 | ||||
-rw-r--r-- | locks/netware/proc_mutex.c | 10 | ||||
-rw-r--r-- | locks/os2/proc_mutex.c | 9 | ||||
-rw-r--r-- | locks/unix/proc_mutex.c | 33 | ||||
-rw-r--r-- | locks/win32/proc_mutex.c | 10 |
5 files changed, 67 insertions, 5 deletions
diff --git a/locks/beos/proc_mutex.c b/locks/beos/proc_mutex.c index a5c68c867..455771424 100644 --- a/locks/beos/proc_mutex.c +++ b/locks/beos/proc_mutex.c @@ -157,6 +157,16 @@ APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex) return stat; } +APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex) +{ + return "beossem"; +} + +APR_DECLARE(const char *) apr_proc_mutex_defname(void) +{ + return "beossem"; +} + APR_POOL_IMPLEMENT_ACCESSOR(proc_mutex) /* Implement OS-specific accessors defined in apr_portable.h */ diff --git a/locks/netware/proc_mutex.c b/locks/netware/proc_mutex.c index 113c875cd..e86802104 100644 --- a/locks/netware/proc_mutex.c +++ b/locks/netware/proc_mutex.c @@ -115,6 +115,16 @@ APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex) return APR_ENOLOCK; } +APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex) +{ + return "netwarethread"; +} + +APR_DECLARE(const char *) apr_proc_mutex_defname(void) +{ + return "netwarethread"; +} + APR_POOL_IMPLEMENT_ACCESSOR(proc_mutex) /* Implement OS-specific accessors defined in apr_portable.h */ diff --git a/locks/os2/proc_mutex.c b/locks/os2/proc_mutex.c index 7cc329cc5..7338e466b 100644 --- a/locks/os2/proc_mutex.c +++ b/locks/os2/proc_mutex.c @@ -93,6 +93,15 @@ static apr_status_t proc_mutex_cleanup(void *vmutex) return apr_proc_mutex_destroy(mutex); } +APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex) +{ + return "os2sem"; +} + +APR_DECLARE(const char *) apr_proc_mutex_defname(void) +{ + return "os2sem"; +} APR_DECLARE(apr_status_t) apr_proc_mutex_create(apr_proc_mutex_t **mutex, diff --git a/locks/unix/proc_mutex.c b/locks/unix/proc_mutex.c index 3fa707cdf..e50499be7 100644 --- a/locks/unix/proc_mutex.c +++ b/locks/unix/proc_mutex.c @@ -177,7 +177,8 @@ const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_posix_methods = NULL, /* no tryacquire */ proc_mutex_posix_release, proc_mutex_posix_destroy, - proc_mutex_posix_child_init + proc_mutex_posix_child_init, + "posixsem" }; #endif /* Posix sem implementation */ @@ -292,7 +293,8 @@ const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_sysv_methods = NULL, /* no tryacquire */ proc_mutex_sysv_release, proc_mutex_sysv_destroy, - proc_mutex_sysv_child_init + proc_mutex_sysv_child_init, + "sysvsem" }; #endif /* SysV sem implementation */ @@ -466,7 +468,8 @@ const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_proc_pthread_method NULL, /* no tryacquire */ proc_mutex_proc_pthread_release, proc_mutex_proc_pthread_destroy, - proc_mutex_proc_pthread_child_init + proc_mutex_proc_pthread_child_init, + "pthread" }; #endif @@ -601,7 +604,8 @@ const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_fcntl_methods = NULL, /* no tryacquire */ proc_mutex_fcntl_release, proc_mutex_fcntl_destroy, - proc_mutex_fcntl_child_init + proc_mutex_fcntl_child_init, + "fcntl" }; #endif /* fcntl implementation */ @@ -730,7 +734,8 @@ const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_flock_methods = NULL, /* no tryacquire */ proc_mutex_flock_release, proc_mutex_flock_destroy, - proc_mutex_flock_child_init + proc_mutex_flock_child_init, + "flock" }; #endif /* flock implementation */ @@ -813,6 +818,19 @@ static apr_status_t proc_mutex_choose_method(apr_proc_mutex_t *new_mutex, apr_lo return APR_SUCCESS; } +APR_DECLARE(const char *) apr_proc_mutex_defname(void) +{ + apr_status_t rv; + apr_proc_mutex_t mutex; + + if ((rv = proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT)) != APR_SUCCESS) { + return "unknown"; + } + mutex.meth = mutex.inter_meth; + + return apr_proc_mutex_name(&mutex); +} + static apr_status_t proc_mutex_create(apr_proc_mutex_t *new_mutex, apr_lockmech_e mech, const char *fname) { apr_status_t rv; @@ -935,6 +953,11 @@ APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex) return mutex->meth->destroy(mutex); } +APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex) +{ + return mutex->meth->name; +} + APR_POOL_IMPLEMENT_ACCESSOR(proc_mutex) /* Implement OS-specific accessors defined in apr_portable.h */ diff --git a/locks/win32/proc_mutex.c b/locks/win32/proc_mutex.c index 92638211d..19100cdd0 100644 --- a/locks/win32/proc_mutex.c +++ b/locks/win32/proc_mutex.c @@ -176,6 +176,16 @@ APR_DECLARE(apr_status_t) apr_proc_mutex_destroy(apr_proc_mutex_t *mutex) return stat; } +APR_DECLARE(const char *) apr_proc_mutex_name(apr_proc_mutex_t *mutex) +{ + return "win32mutex"; +} + +APR_DECLARE(const char *) apr_proc_mutex_defname(void) +{ + return "win32mutex"; +} + APR_POOL_IMPLEMENT_ACCESSOR(proc_mutex) /* Implement OS-specific accessors defined in apr_portable.h */ |