Tags: migueldeicaza/SwiftTerm
Tags
Fixes a deadlock produced by the DispatchIO convenience functions. #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".
PreviousNext