Import LibreSSL v2.4.2 to vendor branch
[dragonfly.git] / crypto / libressl / apps / nc / compat / accept4.c
blob278198baadb0e675df946b53c5777b05a0f948e1
1 #include <sys/socket.h>
2 #include <fcntl.h>
4 int
5 accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags)
7 int rets = accept(s, addr, addrlen);
8 if (rets == -1)
9 return s;
11 if (flags & SOCK_CLOEXEC) {
12 flags = fcntl(s, F_GETFD);
13 fcntl(rets, F_SETFD, flags | FD_CLOEXEC);
16 return rets;