diff options
author | ylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68> | 2017-04-17 21:54:38 +0000 |
---|---|---|
committer | ylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68> | 2017-04-17 21:54:38 +0000 |
commit | 54cf1205bea0f619af77119c40001881e4f72da4 (patch) | |
tree | 89f1f93b393a7a5c918c5d69c2f91fa7693d67ef | |
parent | 26130aba90a9b27e9854cf274ef605e1cd11be92 (diff) | |
download | libapr-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.c | 11 |
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) |