thread_cond.c (apr-1.6.5.tar.bz2) | : | thread_cond.c (apr-1.7.0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 69 | skipping to change at line 69 | |||
APR_DECLARE(apr_status_t) apr_thread_cond_wait(apr_thread_cond_t *cond, | APR_DECLARE(apr_status_t) apr_thread_cond_wait(apr_thread_cond_t *cond, | |||
apr_thread_mutex_t *mutex) | apr_thread_mutex_t *mutex) | |||
{ | { | |||
if (NXCondWait(cond->cond, mutex->mutex) != 0) | if (NXCondWait(cond->cond, mutex->mutex) != 0) | |||
return APR_EINTR; | return APR_EINTR; | |||
return APR_SUCCESS; | return APR_SUCCESS; | |||
} | } | |||
APR_DECLARE(apr_status_t) apr_thread_cond_timedwait(apr_thread_cond_t *cond, | APR_DECLARE(apr_status_t) apr_thread_cond_timedwait(apr_thread_cond_t *cond, | |||
apr_thread_mutex_t *mutex, | apr_thread_mutex_t *mutex, | |||
apr_interval_time_t timeout) | apr_interval_time_t timeout) | |||
{ | { | |||
if (NXCondTimedWait(cond->cond, mutex->mutex, | int rc; | |||
(timeout*1000)/NXGetSystemTick()) == NX_ETIMEDOUT) { | if (timeout < 0) { | |||
return APR_TIMEUP; | rc = NXCondWait(cond->cond, mutex->mutex); | |||
} | ||||
else { | ||||
timeout = timeout * 1000 / NXGetSystemTick(); | ||||
rc = NXCondTimedWait(cond->cond, mutex->mutex, timeout); | ||||
if (rc == NX_ETIMEDOUT) { | ||||
return APR_TIMEUP; | ||||
} | ||||
} | ||||
if (rc != 0) { | ||||
return APR_EINTR; | ||||
} | } | |||
return APR_SUCCESS; | return APR_SUCCESS; | |||
} | } | |||
APR_DECLARE(apr_status_t) apr_thread_cond_signal(apr_thread_cond_t *cond) | APR_DECLARE(apr_status_t) apr_thread_cond_signal(apr_thread_cond_t *cond) | |||
{ | { | |||
NXCondSignal(cond->cond); | NXCondSignal(cond->cond); | |||
return APR_SUCCESS; | return APR_SUCCESS; | |||
} | } | |||
End of changes. 1 change blocks. | ||||
5 lines changed or deleted | 15 lines changed or added |