On 03/29/2011 01:27 AM, Eric Blake wrote:
Paolo, any thoughts on the best approach to take? (I know which way
I'm
leaning, but want some feedback before I give away my bias).
Without guessing what your bias is, I also :) prefer to implement
{g,s}et_nonblock_flag functions. It would use either
SetNamedPipeHandleState or ioctlsocket (using the socket detection trick
in sockets.c to detect sockets, and then GetFileType to detect pipes if
it fails).
This module can then be used to build a fcntl F_GETFL/F_SETFL
implementation, but it is not very important to do so.
Paolo