http://qs1969.pair.com?node_id=74361


in reply to (tye)Re: Win32 Nonblocking Sockets
in thread Win32 Nonblocking Sockets

Windows does have fcntl but doesn't include O_NONBLOCK (according to mingw's headers). However I have coded non blocking sockets in a cross platform program. I used ioctl like this
int on = 1; int error = IOCTL(server_socket, FIONBIO, &on); if (error < 0) die("Couldn't set non-blocking");
Note that IOCTL == ioctl under unix and == ioctlsocket under windows.

I don't know whether this is useful directly from perl under windows or not but it could certainly go in the xs module.

Non blocking sockets are OK under windows, but it is practically impossible to make anything else non blocking - you have to get into overlapped IO etc shudder!