Skip to content

Fix more race conditions

Overall this:

  • Fixes a bug that was happening in Timeout001.hs where we sometimes got deadlocked in the non-alertable wait as we didn't always wake up the C runner.
  • Removes a few more potential race conditions.
  • Fully separates the threaded/non-threaded IO loops on the haskell side (step/processRemoteCompletion)

As of this MR I'm not aware of deficiencies in the compiler internal code. Wider testing will require updating of some boot libraries.

My plan is now to:

  • Patch enough boot libraries to run the full testsuite.
  • Combine these patches into this MR
  • Test the whole thing together, then if it works merge this MR
Edited by Tamar Christina

Merge request reports