forked from mirror/OpenTTD
(svn r26353) -Fix (r26349) [FS#5917]: Win32 and OS/2 ThreadMutex::WaitForSignal always asserted.
This commit is contained in:
@@ -128,12 +128,9 @@ public:
|
||||
/* virtual */ void WaitForSignal()
|
||||
{
|
||||
assert(this->recursive_count == 1); // Do we need to call Begin/EndCritical multiple times otherwise?
|
||||
uint old_recursive_count = this->recursive_count;
|
||||
this->recursive_count = 0;
|
||||
this->EndCritical();
|
||||
DosWaitEventSem(event, SEM_INDEFINITE_WAIT);
|
||||
this->BeginCritical();
|
||||
this->recursive_count = old_recursive_count;
|
||||
}
|
||||
|
||||
/* virtual */ void SendSignal()
|
||||
|
@@ -141,12 +141,9 @@ public:
|
||||
/* virtual */ void WaitForSignal()
|
||||
{
|
||||
assert(this->recursive_count == 1); // Do we need to call Begin/EndCritical multiple times otherwise?
|
||||
uint old_recursive_count = this->recursive_count;
|
||||
this->recursive_count = 0;
|
||||
this->EndCritical();
|
||||
WaitForSingleObject(this->event, INFINITE);
|
||||
this->BeginCritical();
|
||||
this->recursive_count = old_recursive_count;
|
||||
}
|
||||
|
||||
/* virtual */ void SendSignal()
|
||||
|
Reference in New Issue
Block a user