summaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2011-06-26 16:42:39 +0000
committerchristos <christos@NetBSD.org>2011-06-26 16:42:39 +0000
commitbbeb5403be5330b145ad01ccdbfa305d3bf8a76d (patch)
treed1be829e69cabc22b138aada13975946ca6ac102 /sys/compat
parent8b2572853f09a752d637652a9e7abb15ea88c254 (diff)
* Arrange for interfaces that create new file descriptors to be able to
set close-on-exec on creation (http://udrepper.livejournal.com/20407.html). - Add F_DUPFD_CLOEXEC to fcntl(2). - Add MSG_CMSG_CLOEXEC to recvmsg(2) for unix file descriptor passing. - Add dup3(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK. - Add pipe2(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK. - Add flags SOCK_CLOEXEC, SOCK_NONBLOCK to the socket type parameter for socket(2) and socketpair(2). - Add new paccept(2) syscall that takes an additional sigset_t to alter the sigmask temporarily and a flags argument to set SOCK_CLOEXEC, SOCK_NONBLOCK. - Add new mode character 'e' to fopen(3) and popen(3) to open pipes and file descriptors for close on exec. - Add new kqueue1(2) syscall with a new flags argument to open the kqueue file descriptor with O_CLOEXEC, O_NONBLOCK. * Fix the system calls that take socklen_t arguments to actually do so. * Don't include userland header files (signal.h) from system header files (rump_syscallargs.h). * Bump libc version for the new syscalls.
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/svr4/svr4_stream.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/compat/svr4/svr4_stream.c b/sys/compat/svr4/svr4_stream.c
index c94e9dcacfa..bf356760aa9 100644
--- a/sys/compat/svr4/svr4_stream.c
+++ b/sys/compat/svr4/svr4_stream.c
@@ -1,4 +1,4 @@
-/* $NetBSD: svr4_stream.c,v 1.78 2010/11/19 06:44:38 dholland Exp $ */
+/* $NetBSD: svr4_stream.c,v 1.79 2011/06/26 16:42:41 christos Exp $ */
/*-
* Copyright (c) 1994, 2008 The NetBSD Foundation, Inc.
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svr4_stream.c,v 1.78 2010/11/19 06:44:38 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svr4_stream.c,v 1.79 2011/06/26 16:42:41 christos Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -1682,7 +1682,8 @@ svr4_sys_getmsg(struct lwp *l, const struct svr4_sys_getmsg_args *uap, register_
* We are after a listen, so we try to accept...
*/
- error = do_sys_accept(l, SCARG(uap, fd), &name, retval);
+ error = do_sys_accept(l, SCARG(uap, fd), &name, retval,
+ NULL, 0, FNONBLOCK);
if (error != 0) {
DPRINTF(("getmsg: accept failed %d\n", error));
goto out;