I had a small bug in my own code closing fds, but there is still some state mysteriously held by the global `PDispatcher`. If I deregister everything properly, and close all the relevant file-descriptors, there is still a problem with new "forks". I solved the problem completely by adding a `setGlobalDispatcher()` function to **asyncdispatch**. See [https://github.com/nim-lang/Nim/pull/5782](https://github.com/nim-lang/Nim/pull/5782)
That is a very important addition to the standard library. Without it, we really cannot call `posix.fork()` at all after using any async calls.
