summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorDouglas Wilson <douglas.wilson@gmail.com>2022-06-17 13:54:48 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-08-10 06:01:53 -0400
commit7589ee7241d46b393979d98d4ded17a15ee974fb (patch)
tree3b7fc1fdab2df5bbc15a0ccf813fef03c8b9d3e0 /testsuite
parent76b52cf0c52ee05c20f7d1b80f5600eecab3c42a (diff)
downloadhaskell-7589ee7241d46b393979d98d4ded17a15ee974fb.tar.gz
base: Fix races in IOManager (setNumCapabilities,closeFdWith)
Fix for #21651 Fixes three bugs: - writes to eventManager should be atomic. It is accessed concurrently by ioManagerCapabilitiesChanged and closeFdWith. - The race in closeFdWith described in the ticket. - A race in getSystemEventManager where it accesses the 'IOArray' in 'eventManager' before 'ioManagerCapabilitiesChanged' has written to 'eventManager', causing an Array Index exception. The fix here is to 'yield' and retry.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/concurrent/should_run/all.T1
1 files changed, 0 insertions, 1 deletions
diff --git a/testsuite/tests/concurrent/should_run/all.T b/testsuite/tests/concurrent/should_run/all.T
index 11cecb3d14..6bfeab4410 100644
--- a/testsuite/tests/concurrent/should_run/all.T
+++ b/testsuite/tests/concurrent/should_run/all.T
@@ -229,7 +229,6 @@ test('T21651',
when(opsys('mingw32'),skip), # uses POSIX pipes
when(opsys('darwin'),extra_run_opts('8 12 2000 100')),
unless(opsys('darwin'),extra_run_opts('8 12 2000 200')), # darwin runners complain of too many open files
- expect_broken('21651'),
req_smp ],
compile_and_run, [''])