[rtems-libbsd commit] Fix SOCK_CLOEXEC with socket() and socketpair()

Sebastian Huber sebh at rtems.org
Tue Mar 14 06:20:39 UTC 2017


Module:    rtems-libbsd
Branch:    master
Commit:    0732183638be852dfb4046f9c81be71d0bb06fe5
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=0732183638be852dfb4046f9c81be71d0bb06fe5

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Mar 14 07:15:34 2017 +0100

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 2d81fc2..c6fdb26 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;



More information about the vc mailing list