socket_accept6_setcloseonexec(3)

NAME
socket_accept6_setcloseonexec - accept an IPv6 TCP connection on a socket

SYNTAX
#include <libowfat/socket.h>

int socket_accept6_setcloseonexec(int s,char ip[16],uint16 *port,uint32 *scope_id);

DESCRIPTION
This is functionally equivalent to calling socket_accept4 and then calling io_closeonexec 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[16];
  uint16 port;
  uint32 scope_id;

  s = socket_tcp6();
  socket_bind6(s,ip,port,scope_id);
  socket_listen(s,16);
  socket_accept6_setcloseonexec(s,ip,&port,&scope_id);

SEE ALSO
socket_accept6(3), socket_connected(3), socket_accept4_setcloseonexec(3), socket_accept6_makenonblocking_setcloseonexec(3)