Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove Listen DisconnectDetector from epoll selected set when unregis…
…tering A DisconnectDetector instance is newed on the stack, registered with epoll, then unregistered when either an event occurs on the listened channel or waitEvents throws. It is possible, in the case of an exception being thrown, that the DisconnectDetector has already fired in epoll, and is thus in the selected set being iterated over. As an exception will cause the Listen.handleChannelRequest method to exit, the DisconnectDetector will go out of scope. Thus, when the selected set iteration comes to handle it, a segfault will likely result. If the ocean is at version v3.6.x or newer, we'll remove the DisconnectDetector from epoll's selected set when unregistering, making sure this instance will not be handled. Fixes #114
- Loading branch information