Hello,

Ludovic Courtès, le dim. 20 avril 2025 17:40:02 +0200, a ecrit:
> What happens here is that reading from /dev/klog (opened with
> O_NONBLOCK) returns ED_WOULD_BLOCK.  However Guile and its concurrency
> framework (Fibers) don’t know about this error, hence the (non-fatal)
> backtrace, but they do know about EAGAIN and EWOULDBLOCK.

> diff --git a/trans/streamio.c b/trans/streamio.c
> index e42ff908..cdc0af40 100644
> --- a/trans/streamio.c
> +++ b/trans/streamio.c
> @@ -1011,7 +1011,13 @@ dev_read (size_t amount, void **buf, size_t *len, int 
> nowait)
>      {
>        err = start_input (nowait);
>        if (err)
> -     return err;
> +     {
> +       if (err == ED_WOULD_BLOCK)

Is that not already tested by start_input?

samuel

Reply via email to