Re: g_io_unix_read/g_io_unix_write



> While that may be true, I don't think it is guaranteed, you don't get EINTR,
> when you have a non blocking fd, which select reported to be ready to be read
> from. 

Although I think it is guaranteed, I cannot find substantiating
docs:(  The whole point of EINTR is to interrupt blocking system
calls b/c something needs immediate attention.  Hence if you aren't
going to block...

> Also you can't expect a user to setup an fd to nonblocking just to be sure to
> not get EINTR and why should the user be forced to write:
> 
> if (result == G_IO_ERROR_AGAIN || 
>     result == G_IO_ERROR_UNKNOWN && errno == EINTR)
>   /* do it again */

Obviously no one should be forced to write that.


I don't really have a problem with the patch, I just think
it is completely unnecessary, b/c all it does is make
broken code get G_IO_ERROR_AGAIN instead of
G_IO_ERROR_UNKNOWN.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]