https://github.com/migueldeicaza/SwiftTerm/issues/294
It seems like the problem is the use of the convenience DispatchQueue
read/write APIs that use a file descriptor as a parameter. They would
stop delivering data even if data was avaialble, blocking the child
process.
I created a dedicated channel for reading and it works fine now (might
consider doing this for writing to).
Additionally, there is a new dispatchQueue introduced, this is not
necessary to fix this particular bug, but while I was testing, I
noticed a nicer scrolling behavior with a lot of output if I received
the data on a queue, and then dispatched the results to the main queue
than if I processed this directly in the main queue, which had a
visual behavior of "waves".