trifork / erjang

A JVM-based Erlang VM
http://www.erjang.org
Apache License 2.0
725 stars 62 forks source link

EFile/Driver is using blocking IO #23

Closed krestenkrab closed 13 years ago

krestenkrab commented 14 years ago

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.

krestenkrab commented 13 years ago

EFile is now using the async thread pool +A option; need to revisit this again with JDK7 which provides AsyncIO for file operations.