From 06948c6ee502862524f233af4e2c3e4ca876f5f6 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Fri, 15 Jul 2022 11:18:38 +0200 Subject: [PATCH] android: remove pthread-fixes.c (#3674) This was a kludge for a bug in old versions (API level <= 16) of the Android SDK. The os390 port had a build dependency on the file but does not actually use it so that too has been removed. --- CMakeLists.txt | 2 -- LICENSE | 3 --- Makefile.am | 4 +-- src/unix/internal.h | 8 ------ src/unix/pthread-fixes.c | 58 ---------------------------------------- 5 files changed, 1 insertion(+), 74 deletions(-) delete mode 100644 src/unix/pthread-fixes.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f466826..ddf3cdc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,7 +220,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android") src/unix/linux-inotify.c src/unix/linux-syscalls.c src/unix/procfs-exepath.c - src/unix/pthread-fixes.c src/unix/random-getentropy.c src/unix/random-getrandom.c src/unix/random-sysctl-linux.c @@ -316,7 +315,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OS390") list(APPEND uv_defines _XOPEN_SOURCE=600) list(APPEND uv_defines _XOPEN_SOURCE_EXTENDED) list(APPEND uv_sources - src/unix/pthread-fixes.c src/unix/os390.c src/unix/os390-syscalls.c src/unix/os390-proctitle.c) diff --git a/LICENSE b/LICENSE index f752e486..3d7f8f80 100644 --- a/LICENSE +++ b/LICENSE @@ -58,6 +58,3 @@ The externally maintained libraries used by libuv are: - inet_pton and inet_ntop implementations, contained in src/inet.c, are copyright the Internet Systems Consortium, Inc., and licensed under the ISC license. - - - pthread-fixes.c, copyright Google Inc. and Sony Mobile Communications AB. - Three clause BSD license. diff --git a/Makefile.am b/Makefile.am index 0c6d9659..49a2a304 100644 --- a/Makefile.am +++ b/Makefile.am @@ -393,7 +393,6 @@ endif if ANDROID libuv_la_CFLAGS += -D_GNU_SOURCE -libuv_la_SOURCES += src/unix/pthread-fixes.c endif if CYGWIN @@ -546,8 +545,7 @@ libuv_la_CFLAGS += -D_UNIX03_THREADS \ -qXPLINK \ -qFLOAT=IEEE libuv_la_LDFLAGS += -qXPLINK -libuv_la_SOURCES += src/unix/pthread-fixes.c \ - src/unix/os390.c \ +libuv_la_SOURCES += src/unix/os390.c \ src/unix/os390-syscalls.c \ src/unix/proctitle.c endif diff --git a/src/unix/internal.h b/src/unix/internal.h index cee35c21..65f09807 100644 --- a/src/unix/internal.h +++ b/src/unix/internal.h @@ -79,14 +79,6 @@ # define UV__PATH_MAX 8192 #endif -#if defined(__ANDROID__) -int uv__pthread_sigmask(int how, const sigset_t* set, sigset_t* oset); -# ifdef pthread_sigmask -# undef pthread_sigmask -# endif -# define pthread_sigmask(how, set, oldset) uv__pthread_sigmask(how, set, oldset) -#endif - #define ACCESS_ONCE(type, var) \ (*(volatile type*) &(var)) diff --git a/src/unix/pthread-fixes.c b/src/unix/pthread-fixes.c deleted file mode 100644 index 022d79c4..00000000 --- a/src/unix/pthread-fixes.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (c) 2013, Sony Mobile Communications AB - * Copyright (c) 2012, Google Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* Android versions < 4.1 have a broken pthread_sigmask. */ -#include "uv-common.h" - -#include -#include -#include - -int uv__pthread_sigmask(int how, const sigset_t* set, sigset_t* oset) { - static int workaround; - int err; - - if (uv__load_relaxed(&workaround)) { - return sigprocmask(how, set, oset); - } else { - err = pthread_sigmask(how, set, oset); - if (err) { - if (err == EINVAL && sigprocmask(how, set, oset) == 0) { - uv__store_relaxed(&workaround, 1); - return 0; - } else { - return -1; - } - } - } - - return 0; -}