diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/mq_notify.c | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/mq_notify.c b/nptl/sysdeps/unix/sysv/linux/mq_notify.c index 3138ad2c3c..6893d8ced8 100644 --- a/nptl/sysdeps/unix/sysv/linux/mq_notify.c +++ b/nptl/sysdeps/unix/sysv/linux/mq_notify.c @@ -28,7 +28,6 @@ #include <unistd.h> #include <sys/socket.h> #include <not-cancel.h> -#include <kernel-features.h> #include <nptl/pthreadP.h> @@ -153,41 +152,15 @@ reset_once (void) static void init_mq_netlink (void) { -#ifdef SOCK_CLOEXEC -# ifndef __ASSUME_SOCK_CLOEXEC - static int have_sock_cloexec; -# else -# define have_sock_cloexec 1 -# endif -#else -# define have_sock_cloexec -1 -# define SOCK_CLOEXEC 0 -#endif - /* This code might be called a second time after fork(). The file descriptor is inherited from the parent. */ if (netlink_socket == -1) { /* Just a normal netlink socket, not bound. */ - if (have_sock_cloexec >= 0) - { - netlink_socket = socket (AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, 0); -#if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - if (have_sock_cloexec == 0) - have_sock_cloexec = (netlink_socket != -1 || errno != EINVAL - ? 1 : -1); -#endif - } - if (have_sock_cloexec < 0) - netlink_socket = socket (AF_NETLINK, SOCK_RAW, 0); + netlink_socket = socket (AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, 0); /* No need to do more if we have no socket. */ if (netlink_socket == -1) return; - - /* Make sure the descriptor is closed on exec. */ - if (have_sock_cloexec < 0 - && fcntl (netlink_socket, F_SETFD, FD_CLOEXEC) != 0) - goto errout; } int err = 1; |