diff options
Diffstat (limited to 'package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch')
-rw-r--r-- | package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch b/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch deleted file mode 100644 index 178dcde581..0000000000 --- a/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch +++ /dev/null @@ -1,102 +0,0 @@ -From c7e82668bd23fbdd02ebe1e83ff2bb6877812423 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb <wbx@uclibc-ng.org> -Date: Thu, 2 Nov 2017 02:40:43 +0100 -Subject: [PATCH] convert accept4() to use cancel.h macros - -Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org> ---- - include/sys/socket.h | 1 + - libc/inet/socketcalls.c | 37 +++++++++-------------------------- - libpthread/linuxthreads/wrapsyscall.c | 7 +++++++ - 3 files changed, 17 insertions(+), 28 deletions(-) - -diff --git a/include/sys/socket.h b/include/sys/socket.h -index 63dc4b953..83e1fcaa2 100644 ---- a/include/sys/socket.h -+++ b/include/sys/socket.h -@@ -269,6 +269,7 @@ libc_hidden_proto(accept) - __THROW. */ - extern int accept4 (int __fd, __SOCKADDR_ARG __addr, - socklen_t *__restrict __addr_len, int __flags); -+libc_hidden_proto(accept4) - #endif - - /* Shut down all or part of the connection open on socket FD. -diff --git a/libc/inet/socketcalls.c b/libc/inet/socketcalls.c -index e33d69344..1b92609d0 100644 ---- a/libc/inet/socketcalls.c -+++ b/libc/inet/socketcalls.c -@@ -76,43 +76,24 @@ lt_libc_hidden(accept) - #endif - - #ifdef L_accept4 --#ifdef __NR_accept4 --# define __NR___sys_accept4 __NR_accept4 --static _syscall4(int, __sys_accept4, int, fd, struct sockaddr *, addr, socklen_t *, addrlen, int, flags) --int accept4(int fd, struct sockaddr *addr, socklen_t * addrlen, int flags) --{ -- if (SINGLE_THREAD_P) -- return __sys_accept4(fd, addr, addrlen, flags); --#ifdef __UCLIBC_HAS_THREADS_NATIVE__ -- else { -- int oldtype = LIBC_CANCEL_ASYNC (); -- int result = __sys_accept4(fd, addr, addrlen, flags); -- LIBC_CANCEL_RESET (oldtype); -- return result; -- } --#endif --} --#elif defined(__NR_socketcall) --int accept4(int fd, struct sockaddr *addr, socklen_t *addrlen, int flags) -+static int __NC(accept4)(int fd, struct sockaddr *addr, socklen_t *addrlen, int flags) - { -+# ifdef __NR_accept4 -+ return INLINE_SYSCALL(accept4, 4, fd, addr, addrlen, flags); -+# elif defined(__NR_socketcall) - unsigned long args[4]; - - args[0] = fd; - args[1] = (unsigned long) addr; - args[2] = (unsigned long) addrlen; - args[3] = flags; -- if (SINGLE_THREAD_P) -- return __socketcall(SYS_ACCEPT4, args); --#ifdef __UCLIBC_HAS_THREADS_NATIVE__ -- else { -- int oldtype = LIBC_CANCEL_ASYNC (); -- int result = __socketcall(SYS_ACCEPT4, args); -- LIBC_CANCEL_RESET (oldtype); -- return result; -- } -+ -+ return __socketcall(SYS_ACCEPT4, args); - #endif - } --#endif -+CANCELLABLE_SYSCALL(int, accept4, (int fd, struct sockaddr *addr, socklen_t *addrlen, int flags), -+ (fd, addr, addrlen, flags)) -+lt_libc_hidden(accept4) - #endif - - #ifdef L_bind -diff --git a/libpthread/linuxthreads/wrapsyscall.c b/libpthread/linuxthreads/wrapsyscall.c -index ca046a442..2386bfdef 100644 ---- a/libpthread/linuxthreads/wrapsyscall.c -+++ b/libpthread/linuxthreads/wrapsyscall.c -@@ -192,6 +192,13 @@ CANCELABLE_SYSCALL (int, accept, (int fd, __SOCKADDR_ARG addr, - socklen_t *addr_len), - (fd, addr, addr_len)) - -+#if defined __UCLIBC_LINUX_SPECIFIC__ -+/* accept4(2). */ -+CANCELABLE_SYSCALL (int, accept4, (int fd, __SOCKADDR_ARG addr, -+ socklen_t *addr_len, int flags), -+ (fd, addr, addr_len, flags)) -+#endif -+ - /* connect(2). */ - CANCELABLE_SYSCALL (int, connect, (int fd, __CONST_SOCKADDR_ARG addr, - socklen_t len), --- -2.11.0 - |