You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by iv...@apache.org on 2019/09/03 05:18:23 UTC

svn commit: r1866302 - /apr/apr/trunk/locks/win32/thread_mutex.c

Author: ivan
Date: Tue Sep  3 05:18:23 2019
New Revision: 1866302

URL: http://svn.apache.org/viewvc?rev=1866302&view=rev
Log:
Refactor win32 thread_mutex code. No functional changes intended.

Modified:
    apr/apr/trunk/locks/win32/thread_mutex.c

Modified: apr/apr/trunk/locks/win32/thread_mutex.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/locks/win32/thread_mutex.c?rev=1866302&r1=1866301&r2=1866302&view=diff
==============================================================================
--- apr/apr/trunk/locks/win32/thread_mutex.c (original)
+++ apr/apr/trunk/locks/win32/thread_mutex.c Tue Sep  3 05:18:23 2019
@@ -74,14 +74,20 @@ APR_DECLARE(apr_status_t) apr_thread_mut
 {
     if (mutex->type == thread_mutex_critical_section) {
         EnterCriticalSection(&mutex->section);
+        return APR_SUCCESS;
     }
     else {
         DWORD rv = WaitForSingleObject(mutex->handle, INFINITE);
-        if ((rv != WAIT_OBJECT_0) && (rv != WAIT_ABANDONED)) {
-            return (rv == WAIT_TIMEOUT) ? APR_EBUSY : apr_get_os_error();
+        if (rv == WAIT_OBJECT_0 || rv == WAIT_ABANDONED) {
+            return APR_SUCCESS;
+        }
+        else if (rv == WAIT_TIMEOUT) {
+            return APR_EBUSY;
+        }
+        else {
+            return apr_get_os_error();
         }
-    }        
-    return APR_SUCCESS;
+    }
 }
 
 APR_DECLARE(apr_status_t) apr_thread_mutex_trylock(apr_thread_mutex_t *mutex)
@@ -90,14 +96,20 @@ APR_DECLARE(apr_status_t) apr_thread_mut
         if (!TryEnterCriticalSection(&mutex->section)) {
             return APR_EBUSY;
         }
+        return APR_SUCCESS;
     }
     else {
         DWORD rv = WaitForSingleObject(mutex->handle, 0);
-        if ((rv != WAIT_OBJECT_0) && (rv != WAIT_ABANDONED)) {
-            return (rv == WAIT_TIMEOUT) ? APR_EBUSY : apr_get_os_error();
+        if (rv == WAIT_OBJECT_0 || rv == WAIT_ABANDONED) {
+            return APR_SUCCESS;
+        }
+        else if (rv == WAIT_TIMEOUT) {
+            return APR_EBUSY;
+        }
+        else {
+            return apr_get_os_error();
         }
-    }        
-    return APR_SUCCESS;
+    }
 }
 
 APR_DECLARE(apr_status_t) apr_thread_mutex_timedlock(apr_thread_mutex_t *mutex,
@@ -108,11 +120,16 @@ APR_DECLARE(apr_status_t) apr_thread_mut
 
         rv = apr_wait_for_single_object(mutex->handle, timeout);
 
-        if ((rv != WAIT_OBJECT_0) && (rv != WAIT_ABANDONED)) {
-            return (rv == WAIT_TIMEOUT) ? APR_TIMEUP : apr_get_os_error();
+        if (rv == WAIT_OBJECT_0 || rv == WAIT_ABANDONED) {
+            return APR_SUCCESS;
         }
-        return APR_SUCCESS;
-    }        
+        else if (rv == WAIT_TIMEOUT) {
+            return APR_TIMEUP;
+        }
+        else {
+            return apr_get_os_error();
+        }
+    }
 
     return APR_ENOTIMPL;
 }