EFile is using blocking IO to send messages back to Erlang. If the mailbox runs full, and there are no threads available to receive the messages we may deadlock.
Solutions: 1) make EDriverInstance.output_from_driver be Pausable, or 2) make a separate thread pool for IO, so that we can always assume that someone will eventually take the output.
EFile is using blocking IO to send messages back to Erlang. If the mailbox runs full, and there are no threads available to receive the messages we may deadlock.
Solutions: 1) make EDriverInstance.output_from_driver be Pausable, or 2) make a separate thread pool for IO, so that we can always assume that someone will eventually take the output.