From 0732183638be852dfb4046f9c81be71d0bb06fe5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 14 Mar 2017 07:15:34 +0100 Subject: Fix SOCK_CLOEXEC with socket() and socketpair() Remove SOCK_CLOEXEC flag to get a valid socket type, e.g. to avoid a EPROTOTYPE in case of socket(..., SOCK_DGRAM | SOCK_CLOEXEC, ...). --- freebsd/sys/kern/uipc_syscalls.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/freebsd/sys/kern/uipc_syscalls.c b/freebsd/sys/kern/uipc_syscalls.c index 2d81fc20..c6fdb26f 100644 --- a/freebsd/sys/kern/uipc_syscalls.c +++ b/freebsd/sys/kern/uipc_syscalls.c @@ -176,12 +176,10 @@ sys_socket(struct thread *td, struct socket_args *uap) type = uap->type; oflag = 0; fflag = 0; -#ifndef __rtems__ if ((type & SOCK_CLOEXEC) != 0) { type &= ~SOCK_CLOEXEC; oflag |= O_CLOEXEC; } -#endif /* __rtems__ */ if ((type & SOCK_NONBLOCK) != 0) { type &= ~SOCK_NONBLOCK; fflag |= FNONBLOCK; @@ -775,12 +773,10 @@ kern_socketpair(struct thread *td, int domain, int type, int protocol, oflag = 0; fflag = 0; -#ifndef __rtems__ if ((type & SOCK_CLOEXEC) != 0) { type &= ~SOCK_CLOEXEC; oflag |= O_CLOEXEC; } -#endif /* __rtems__ */ if ((type & SOCK_NONBLOCK) != 0) { type &= ~SOCK_NONBLOCK; fflag |= FNONBLOCK; -- cgit v1.2.3