Do not ignore events deletion when events to be added are provided (#16916)
Kqueue/kevent implementation used to ignore events to be unsubscribed from when events to be subscribed to were provided. This resulted in a lost notification subscription, when GHC runtime didn't listen for any events, yet the kernel considered otherwise and kept waking up the IO manager thread. This commit fixes this issue by always adding and removing all of the provided subscriptions.
Showing
- libraries/base/GHC/Event/KQueue.hsc 4 additions, 4 deletionslibraries/base/GHC/Event/KQueue.hsc
- testsuite/tests/lib/base/T16916.hs 45 additions, 0 deletionstestsuite/tests/lib/base/T16916.hs
- testsuite/tests/lib/base/T16916.stdout 1 addition, 0 deletionstestsuite/tests/lib/base/T16916.stdout
- testsuite/tests/lib/base/all.T 1 addition, 0 deletionstestsuite/tests/lib/base/all.T
Loading
Please register or sign in to comment