diff options
author | stoddard <stoddard@13f79535-47bb-0310-9956-ffa450edef68> | 2002-02-28 03:33:37 +0000 |
---|---|---|
committer | stoddard <stoddard@13f79535-47bb-0310-9956-ffa450edef68> | 2002-02-28 03:33:37 +0000 |
commit | 0274bae0b4232e5dd4bca4b6fa928592d1ec1b03 (patch) | |
tree | 3ae09be25b9dd68638a96e19da293919584d2026 /locks | |
parent | 5b382240a68e77129c11252873493e2e06254d26 (diff) | |
download | libapr-0274bae0b4232e5dd4bca4b6fa928592d1ec1b03.tar.gz |
Win32: Fix apr_proc_mutex_lock/trylock. Getting WAIT_ABANDONED is
not a failure condition when calling WaitForSingleObject on a mutex.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63071 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'locks')
-rw-r--r-- | locks/win32/proc_mutex.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/locks/win32/proc_mutex.c b/locks/win32/proc_mutex.c index 50524a6ee..219362db2 100644 --- a/locks/win32/proc_mutex.c +++ b/locks/win32/proc_mutex.c @@ -139,12 +139,9 @@ APR_DECLARE(apr_status_t) apr_proc_mutex_lock(apr_proc_mutex_t *mutex) rv = WaitForSingleObject(mutex->handle, INFINITE); - if (rv == WAIT_OBJECT_0) { + if (rv == WAIT_OBJECT_0 || rv == WAIT_ABANDONED) { return APR_SUCCESS; } - else if (rv == WAIT_ABANDONED) { - return APR_EBUSY; - } return apr_get_os_error(); } @@ -154,12 +151,9 @@ APR_DECLARE(apr_status_t) apr_proc_mutex_trylock(apr_proc_mutex_t *mutex) rv = WaitForSingleObject(mutex->handle, 0); - if (rv == WAIT_OBJECT_0) { + if (rv == WAIT_OBJECT_0 || rv == WAIT_ABANDONED) { return APR_SUCCESS; } - else if (rv == WAIT_ABANDONED) { - return APR_EBUSY; - } return apr_get_os_error(); } |