Re: O_NONBLOCK is broken

From: Jan Engelhardt
Date: Tue Aug 14 2007 - 13:29:17 EST



On Aug 14 2007 13:33, Alan Cox wrote:
>
>> b) Make recv(fd, buf, size, flags) and send(fd, buf, size, flags);
>> work with non-socket fds too, for flags==0 or flags==MSG_DONTWAIT.
>> (it's ok to fail with "socket op on non-socket fd" for other values
>> of flags)
>
>I think that makes a lot of sense, and to be honest other MSG_ flags make
>useful sense and have meaningful semantics that might be helpful
>elsewhere if ever coded that way.
>
>If you want to do this the first job is going to be to sort out the way
>non-block is propogated to device driver read/write handlers. At the
>moment they all check filp->f_flags

And a side effect, kernel code (kthreads) rarely allocate a file
descriptor.


Jan
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/