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
bug-pulse.cs
Description: Binary data
