Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net-sim: asynchronous exception handling of accept call
When we accept a connection we were using `bracketOnError`. However we should not unmask exceptions when executing the in-between callback. The non-error case is non-blocking, interruptibly masked exceptions ensures that the simulation state is updated. In the error case, we need to uninterruptible mask exceptions to close the channel (since it is a blocking operation), and then update sim-state which is a non-blocking operation: for that interruptibly masked exceptions is enough.
- Loading branch information