Closed Bug 1316473 Opened 3 years ago Closed 3 years ago
Channels deadlock when instantiated with broken transports
When a process dies, any outstanding endpoints that have not been opened will fail to be opened by IPDL. However, it still creates a transport object, and so we get a MessageChannel that assumes no error has occurred. The result is that no messages are ever sent, and the first sync message will cause a deadlock (as we'll wait for a reply that never comes).
This patch fixes MessageLink so that if the Transport is dead on arrivel, we fire off an error notification. I added a new OnChannelError function since the old one has an assert that would otherwise trigger. It might be okay to just remove that assert though.
Attachment #8809241 - Flags: review?(wmccloskey)
Attachment #8809241 - Flags: review?(wmccloskey) → review+
Pushed by email@example.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/10f112105ab2 Fix MessageChannel when constructed with a broken Transport. (bug 1316473, r=billm)
You need to log in before you can comment on or make changes to this bug.