Bug 1765393 Comment 1 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

It looks as if there was [some misalignment between `mIsOpen`](https://searchfox.org/mozilla-central/rev/2fd70a667e6f89a9ec6622ecb302b1ab48e4a062/dom/ipc/ProcessHangMonitor.cpp#713-715) and the real channel state that makes us not call `Close()` ?

I wonder if we really need this `mIsOpen` at all, can't we just rely on the channel status itself (`CanSend()`)? Still I do not see where it could actually go wrong from code reading, we unset it only in `ActorDestroy`. Is there a timeframe after `ActorDestroy` where the channel still results open and we see a race with a previous `Close()` on the same channel here?

In any case it seems related to bug 1738104, which has been backed out.
It looks as if there was [some misalignment between `mIsOpen`](https://searchfox.org/mozilla-central/rev/2fd70a667e6f89a9ec6622ecb302b1ab48e4a062/dom/ipc/ProcessHangMonitor.cpp#713-715) and the real channel state that makes us not call `Close()` ?

I wonder if we really need this `mIsOpen` at all, can't we just rely on the channel status itself (`CanSend()`)? Still I do not see where it could actually go wrong from code reading, we unset it only in `ActorDestroy`. Is there a timeframe after `ActorDestroy` where the channel still results open and we see a race with a previous `Close()` on the same channel here?

In any case it seems related to bug 1738104, which has been backed out from beta.

Back to Bug 1765393 Comment 1