table of contents
        
      
      
    - Tumbleweed 0.34-2.1
 - Leap-16.0
 
| socket_accept4_makenonblocking_setcloseonexec(3) | Library Functions Manual | socket_accept4_makenonblocking_setcloseonexec(3) | 
NAME¶
socket_accept4_makenonblocking_setcloseonexec - accept an IPv4 TCP connection on a socket and set it to non-blocking I/O and close-on-exec #include <libowfat/socket.h>
int socket_accept4_makenonblocking_setcloseonexec(int s,char ip[4],uint16 *port);
DESCRIPTION¶
This is functionally equivalent to calling socket_accept4 and then calling ndelay_on and io_tcloseonexec on the returned socket.
However, if may save a syscall or two and in the process avoid a race condition.
EXAMPLE¶
#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_setcloseonexec(s,ip,&p);
SEE ALSO¶
socket_accept4(3), socket_connected(3), socket_accept4_makenonblocking(3), socket_accept4_setcloseonexec(3), socket_accept6_makenonblocking_setcloseonexec(3)