Merged and tested. Thanks, Dom.
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
`se
https://github.com/nim-lang/Nim/issues/5725
I've pushed code to close _all_ unused fds in each new fork, and to end
communication gracefully. I do not understand how the failing fds are known to
**select**.
I think this is a bug in a Nim library. But if no-one can help me figure this
out, I'll try switching from pipes to sockets (maybe n
Can anyone knowledgeable about the async PDispatcher help me debug this? It
should be very easy to clone and run.
> [https://github.com/pb-cdunn/nim-multiproc/tree/never-finish](https://github.com/pb-cdunn/nim-multiproc/tree/never-finish)
Try the _never-finish_ branch. In **multiproc.nim**, if I