|
|
HP 9000 Networking: BSD Sockets Interface Programmer's Guide > Chapter 5 Advanced Topics for Internet Datagram SocketsNonblocking I/O |
|
Sockets are created in blocking mode I/O by default. You can specify that a socket be put in nonblocking mode by using the ioctl system call with the FIOSNBIO request. An example usage of this call is:
arg is a pointer to int:
If a socket is in nonblocking mode, the following calls are affected: The O_NDELAY flag for fcntl(2) is also supported. If you use this flag and there is no message available to be received on a recv, recvfrom, or read call, the call returns immediately with the value of 0. If you use the O_NONBLOCK flag, the call returns immediately with the value of -1 and the EAGAIN error. This is the same as returning an end-of-file condition. This is also true for send , sendto, and write if there is not enough buffer space to complete the send. The O_NDELAY and O_NONBLOCK flags have precedence over the FIOSNBIO flag. Setting both the O_DELAY and O_NONBLOCK flags is not allowed. |
|