socket_accept4_makenonblocking − accept an IPv4 TCP connection on a socket and set it to non-blocking I/O
#include <libowfat/socket.h>
int socket_accept4_makenonblocking(int s,char ip[4],uint16 *port);
This is functionally equivalent to calling socket_accept4 and then calling ndelay_on on the returned socket.
However, if may save a syscall or two and in the process avoid a race condition.
#include <libowfat/socket.h>
int s;
char ip[4];
uint16 p;
s =
socket_tcp4();
socket_bind4(s,ip,p);
socket_listen(s,16);
socket_accept4_makenonblocking(s,ip,&p);
socket_accept4(3), socket_connected(3), socket_accept6_makenonblocking(3), socket_accept4_setcloseonexec(3), socket_accept4_makenonblocking_setcloseonexec(3)