Mirror of :pserver:cvs@cvs.fefe.de:/cvs libowfat https://www.fefe.de/libowfat/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

32 lines
1.0 KiB

.TH socket_accept6_makenonblocking_setcloseonexec 3
.SH NAME
socket_accept6_makenonblocking_setcloseonexec \- accept an IPv6 TCP connection on a socket and set it to non-blocking I/O and close-on-exec
.nSH SYNTAX
.B #include <libowfat/socket.h>
int \fBsocket_accept6_makenonblocking_setcloseonexec\fP(int \fIs\fR,char \fIip\fR[4],uint16 *\fIport\fR,uint16* \fIscope_id\fR);
.SH DESCRIPTION
This is functionally equivalent to calling \fIsocket_accept6\fR and then
calling \fIndelay_on\fR and \fIio_tcloseonexec\fR on the returned socket.
However, if may save a syscall or two and in the process avoid a race
condition.
.SH EXAMPLE
#include <libowfat/socket.h>
int \fIs\fR;
char \fIip\fR[16];
uint16 \fIp\fR;
uint16 \fIscope_id\fR;
\fIs\fR = socket_tcp6();
socket_bind6(s,ip,p,scope_id);
socket_listen(s,16);
socket_accept6_makenonblocking_setcloseonexec(s,ip,&p,&scope_id);
.SH "SEE ALSO"
socket_accept6(3), socket_connected(3),
socket_accept6_makenonblocking(3),
socket_accept6_setcloseonexec(3),
socket_accept4_makenonblocking_setcloseonexec(3)