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:
- in ves_icall_System_Threading_Monitor_Monitor_wait() , the
   mon->waiters_count variable should be decremented before
   last_waiters is set, otherwise last_waiters will allways
be FALSE.
- mon->waiters_done is an Event, and the event_signal()
function calls
   ResetEvent(). Shouldn't it call SetEvent() instead?
ResetEvent() only
   sets a variable, it doesn't signal anything.

                             bye

                                   Zoltan

Attachment: bug-pulse.cs
Description: Binary data

Reply via email to