Fix socketpair(2) on Unix datagram sockets that use SOCK_CLOEXEC or
SOCK_NONBLOCK.

This fixes a failure in the ruby test suite.

OK?

Thanks,
Jeremy

Index: kern/uipc_syscalls.c
===================================================================
RCS file: /cvs/src/sys/kern/uipc_syscalls.c,v
retrieving revision 1.97
diff -u -p -r1.97 uipc_syscalls.c
--- kern/uipc_syscalls.c        13 Dec 2014 21:05:33 -0000      1.97
+++ kern/uipc_syscalls.c        16 Jul 2015 23:29:40 -0000
@@ -406,7 +406,7 @@ sys_socketpair(struct proc *p, void *v, 
        }
        if ((error = soconnect2(so1, so2)) != 0)
                goto free4;
-       if (SCARG(uap, type) == SOCK_DGRAM) {
+       if (SCARG(uap, type) & SOCK_DGRAM) {
                /*
                 * Datagram socket connection is asymmetric.
                 */

Reply via email to