yelni...@tutamail.com, le mar. 26 août 2025 12:33:44 +0200, a ecrit: > Hello Samuel, > > Something like this fixes the D_WOULD_BLOCK errno for me. > --8<---------------cut here---------------start------------->8--- > diff --git a/trans/streamio.c b/trans/streamio.c > index e42ff908..93057146 100644 > --- a/trans/streamio.c > +++ b/trans/streamio.c > @@ -1049,6 +1049,8 @@ device_read_reply_inband (mach_port_t reply, > kern_return_t errorcode, > > input_pending = 0; > err = errorcode; > + if (err == D_WOULD_BLOCK) > + err = EWOULDBLOCK;
Don't we rather want to set it to 0? If we leave err non-0, the rest of the function will call dev_close. I don't think we want to close the file just on a D_WOULD_BLOCK notification? > if (!err) > { > if (datalen == 0) > --8<---------------cut here---------------end--------------->8--- > > > This error is then returned by the initial check for the global error in > dev_read. But it's not an error, it just tells that there is currently nothing to read. If nowait is 0, we still want to enter the wait loop. > One other thing that I found is that the "last" line in the kernel log is > missing a terminating newline. Is there a way to add it? That might be related. Samuel