[concurrency-interest] Re: Backport condition variables and reentrant locks.

Dawid Kurzyniec dawidk at mathcs.emory.edu
Thu Aug 11 15:47:21 EDT 2005


Maciej Szefler wrote:

>Dawid,
>
>Great job with the backport, its  a life saver. However, I have recently
>run into a problem. It seems that the condition variables do not work as
>advertised with reentrant locks. I find that if a thread has multiple
>holds on a reentrant lock a conditional variable await() call will only
>release one of those holds.  This is contrary to expectations (at least
>mine and the JavaDoc author's). 
>
>  
>
You are right. This is a bug. Conditional variables in the backport were 
derived from dl.util.concurrent.CondVar, which was POSIX-style 
condition, supposed to work with non-reentrant mutexes. It should be 
easy to fix; I will include the fix in the next release (probably 2-3 
weeks from now).

Regards,
Dawid



More information about the Concurrency-interest mailing list