httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Micha Lenk <>
Subject Re: How to wait on a global lock with timeout
Date Wed, 25 Mar 2015 06:19:44 GMT
Hi Yann,

Am 20.03.2015 um 02:59 schrieb Yann Ylavic:
> a few times later, commited in [1] and [2] :)

Wow, thanks for coming back to that issue.

> Can you please check if it works for you?

I only had time to review the code changes. I looked at the
implementation of apr_global_mutex_timedlock(). There I noticed that, if
APR_HAS_THREADS, you are doing 3 timed operations without checking the
remaining time. If all operations take almost the given timeout, this
can in the end result in almost 3 times the allowed value.

To mitigate that design flaw I would provide the timeout by reference
and update it by the functions using it. This has also the nice benefit
that the caller is able to retrieve the time it needed to wait.

I hope to have some time to check out the new functions in my code soon.

> I also attached the patch against 1.6.x, if that can help...
> It should also apply to 1.5.x, though it will never be backported
> there (due to API changes).

Backports are not needed. Thanks for offering.


View raw message