[Mono-list] problem with Monitor::PulseAll()

Dick Porter dick@ximian.com
23 Jan 2003 13:07:38 +0000


On Thu, 2003-01-23 at 12:40, Varga Zoltan wrote:
>                                           Hi All,
> 
>    It seems Monitor::PulseAll() does not work in the CVS
> version of mono.
> I attached a test case.  Looking at the sources, I found two
> strange
> things:

The Pulse/Wait code is based on the condition variable code by Doug
Schmidt http://www.cs.wustl.edu/~schmidt/win32-cv-1.html.

Unfortunately, the condition variable model doesn't actually work
properly for Pulse/Wait: condition variables should remember being
signalled even when noone is waiting, whereas a pulse in this case
should be lost.  Theres an open bug about this (33732) but I haven't got
a working fix yet.

- Dick