зеркало из https://github.com/mozilla/pjs.git
Bug #15615 --> when the proxy code is processing an event, we can't be holding onto the event queue's monitor. Because
you could run into the scenario where in processing the event, the thread blocks waiting for an event from another thread. That thread tries to post the event to the orginal thread's event Queue but can't enter the queue's monitor. r=warren (or reviewed by me depending on your point of view since we figured it out together).
This commit is contained in:
Родитель
0976db0c72
Коммит
ace152cd18
|
@ -467,8 +467,6 @@ void* EventHandler(PLEvent *self)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
eventQ->EnterMonitor();
|
||||
|
||||
// invoke the magic of xptc...
|
||||
nsresult rv = XPTC_InvokeByIndex( proxyObject->GetRealObject(),
|
||||
info->GetMethodIndex(),
|
||||
|
@ -477,7 +475,6 @@ void* EventHandler(PLEvent *self)
|
|||
|
||||
info->SetResult(rv);
|
||||
|
||||
eventQ->ExitMonitor();
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче