summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68>2017-04-17 21:54:38 +0000
committerylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68>2017-04-17 21:54:38 +0000
commit54cf1205bea0f619af77119c40001881e4f72da4 (patch)
tree89f1f93b393a7a5c918c5d69c2f91fa7693d67ef
parent26130aba90a9b27e9854cf274ef605e1cd11be92 (diff)
downloadlibapr-54cf1205bea0f619af77119c40001881e4f72da4.tar.gz
Merge r1791728 from trunk:
locks: follow up to r1790436. Fix proc_mutex_pthread_acquire_ex() for the APR_USE_PROC_PTHREAD_MUTEX_COND case which shouldn't use undefined pthread_cond_timedwait(). git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/1.6.x@1791729 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--locks/unix/proc_mutex.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/locks/unix/proc_mutex.c b/locks/unix/proc_mutex.c
index 2bd695dfd..018d9bc71 100644
--- a/locks/unix/proc_mutex.c
+++ b/locks/unix/proc_mutex.c
@@ -687,9 +687,6 @@ static apr_status_t proc_mutex_pthread_child_init(apr_proc_mutex_t **mutex,
static apr_status_t proc_mutex_pthread_acquire_ex(apr_proc_mutex_t *mutex,
apr_interval_time_t timeout)
{
-#if !APR_USE_PROC_PTHREAD_MUTEX_COND && !defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK)
- return proc_mutex_spinsleep_timedacquire(mutex, timeout);
-#else
apr_status_t rv;
#if APR_USE_PROC_PTHREAD_MUTEX_COND
@@ -783,7 +780,9 @@ static apr_status_t proc_mutex_pthread_acquire_ex(apr_proc_mutex_t *mutex,
}
}
}
- else {
+ else
+#if defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK)
+ {
struct timespec abstime;
timeout += apr_time_now();
@@ -811,11 +810,13 @@ static apr_status_t proc_mutex_pthread_acquire_ex(apr_proc_mutex_t *mutex,
#endif
return rv;
}
+#else /* !HAVE_PTHREAD_MUTEX_TIMEDLOCK */
+ return proc_mutex_spinsleep_timedacquire(mutex, timeout);
+#endif
}
mutex->curr_locked = 1;
return APR_SUCCESS;
-#endif
}
static apr_status_t proc_mutex_pthread_acquire(apr_proc_mutex_t *mutex)