hi Tomas! For Guile, if you enabled suspendable-port, you may schedule the blocking task captured by delimited continuation. And use I/O multiplex mechanism (say, select or epoll) for monitoring the file descriptor (or port). If there's no available byte at all, then you would never be mentioned by I/O multiplexer. That is to say, you can do other works before it mentions you some time.
On Wed, May 15, 2019 at 6:09 PM <to...@tuxteam.de> wrote: > > On Mon, May 13, 2019 at 06:54:38PM +0800, Nala Ginrut wrote: > > Hi folks! > > Here's a patch to add current-suspendable-io-status: > > Its result is a pair: (finished-bytes . rest-bytes) > > Sorry for this possibly dumb question, but... is there a way > to be non-blocking even if there are no readable/writable > bytes at all? Or would one have to do multi-threading (and > let the single threads [1] block) for that? > > Thanks > > [1] not necessarily "operating system" threads > > -- tomás