зеркало из https://github.com/mozilla/gecko-dev.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:
Родитель
f86eb66b97
Коммит
6f6cc8ed7e
|
@ -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;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче