On Tue, 9 Dec 2003, Jeff Trawick wrote:
> > + if (reslist->timeout) {
> > + if (apr_thread_cond_timedwait(reslist->avail,
> > + reslist->listlock, reslist->timeout) != APR_SUCCESS)
> > + apr_thread_mutex_unlock(reslist->listlock);
> > + return APR_EAGAIN;
> > + }
> > Is it really correct to return APR_EAGAIN regardless of the return value
> > of apr_thread_cond_timedwait()? Or is that a bug caused by a lack of
>
> if not returning whatever apr_thread_cond_timedwait() returned, why not return
> APR_TIMEUP instead of APR_EAGAIN? but like Cliff said I wonder why the retval
> of apr_thread_cond_timewait() isn't appropriate?
Well, that's an additional good point. :-) But what I really meant was:
is it really correct to return APR_EAGAIN even if
apr_thread_cond_timedwait *succeeds*. Because that's what it's doing
right now. "return APR_EAGAIN;" is unconditional, even though its
indentation would make it appear otherwise.
--Cliff