Hi everyone. I wrote some I/O routines to get around the following problem documented in the srfi-18 section of the manual on the wiki.
"Blocking I/O will block all threads, except for some socket operations (see the section about the tcp
unit). An exception is the read-eval-print loop on UNIX platforms:
waiting for input will not block other threads, provided the current
input port reads input from a console."
Some people commented on chicken-users when I released the library that it would be nice to not have all threads block in core due to i/o.
Having taken a look at library.scm, I was wondering if this could be addressed by modifying the read and write procedures of the streaming port class to call ##sys#thread-block-for-i/o! from scheduler.scm.