Closed Bug 545336 Opened 13 years ago Closed 13 years ago
Win event loop message isn't unique per channel
(Core Graveyard :: Plug-ins, defect)
(Reporter: jimm, Unassigned)
gEventLoopMessage is registered as a global msg id, but is used to signal multiple channels via the same thread message queue. This can cause spurious wake ups in WaitForNotify for channels that don't have anything pending. We need to register unique events per, so each channel only looks for it's own signal message. Old code didn't mind this, although events could go unprocessed. However with the new hang detection, this will abort, so it needs to be addressed.
13 years ago
An alternative might be to keep the global event id, and have channels store incoming events not meant for themselves in a global list. WaitForNotify could check the list on entry for event loop events aimed at it's channel, returning without waiting for incoming events if it found one. If no events were in the list for the channel, it would go into normal event loop processing. This bug can probably be combine with bug 545338, since we'd have to do EventOccurred processing on the list as well.
13 years ago
We switched to using events in bug 545338.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
11 months ago
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.