[diwic: Moved paccept to #bsd line in configure.ac]
AC_CHECK_FUNCS_ONCE([strerror_r])
# BSD
-AC_CHECK_FUNCS_ONCE([lstat])
+AC_CHECK_FUNCS_ONCE([lstat paccept])
# Non-standard
AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtod_l pipe2 accept4])
int pa_accept_cloexec(int sockfd, struct sockaddr *addr, socklen_t *addrlen) {
int fd;
+ errno = 0;
+
#ifdef HAVE_ACCEPT4
if ((fd = accept4(sockfd, addr, addrlen, SOCK_CLOEXEC)) >= 0)
goto finish;
#endif
+#ifdef HAVE_PACCEPT
+ if ((fd = paccept(sockfd, addr, addrlen, NULL, SOCK_CLOEXEC)) >= 0)
+ goto finish;
+#endif
+
if ((fd = accept(sockfd, addr, addrlen)) >= 0)
goto finish;