From a877b0eca3d59f7f8cd126047c0e899df6018858 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Fri, 17 Aug 2018 12:29:03 +0200 Subject: [PATCH] Revert "build: Link to libpthread, if pthread_atfork() needs to be used" This reverts commit 541d79cb651cfd3238b9aa41fce70208df8e9496. --- NEWS | 2 +- common/library.c | 10 ++++------ configure.ac | 7 +------ 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/NEWS b/NEWS index 616face..ab8ff57 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ * server: Enable socket activation through systemd [PR#173] * rpc-server: p11_kit_remote_serve_tokens: Allow exporting all modules [PR#174] * proxy: Fail early if there is no slot mapping [PR#175] - * Remove hard dependency on libpthread on glibc systems [PR#177] + * Remove hard dependency on libpthread [PR#177] * Build fixes [PR#170, PR#176] 0.23.12 (stable) diff --git a/common/library.c b/common/library.c index 73a008c..b72465b 100644 --- a/common/library.c +++ b/common/library.c @@ -145,14 +145,12 @@ extern int __register_atfork (void (*prepare) (void), void (*parent) (void), #ifdef HAVE___REGISTER_ATFORK -extern void *__dso_handle; - -#define p11_register_atfork(a,b,c) \ - (__register_atfork((a),(b),(c),__dso_handle)) +#define p11_register_atfork(a,b,c,d) \ + (__register_atfork((a),(b),(c),(d))) #else -#define p11_register_atfork(a,b,c) \ +#define p11_register_atfork(a,b,c,d) \ (pthread_atfork((a),(b),(c))) #endif /* HAVE___REGISTER_ATFORK */ @@ -179,7 +177,7 @@ p11_library_init_impl (void) p11_message_locale = newlocale (LC_ALL_MASK, "POSIX", (locale_t) 0); #endif - p11_register_atfork (NULL, NULL, count_forks); + p11_register_atfork (NULL, NULL, count_forks, NULL); } void diff --git a/configure.ac b/configure.ac index dde0ea2..93a6c83 100644 --- a/configure.ac +++ b/configure.ac @@ -123,12 +123,7 @@ if test "$os_unix" = "yes"; then AC_CHECK_FUNCS([setenv]) AC_CHECK_FUNCS([getpeereid]) AC_CHECK_FUNCS([getpeerucred]) - # If __register_atfork() is not available, we have to link to - # libpthread so that the non-stub version of pthread_atfork() work - # FIXME: replace pthread_atfork() uses with manual PID checks - AC_CHECK_FUNCS([__register_atfork], , [ - AC_CHECK_LIB([pthread], [pthread_atfork]) - ]) + AC_CHECK_FUNCS([__register_atfork]) AC_CHECK_DECLS([__register_atfork]) # Check if issetugid() is available and has compatible behavior with OpenBSD -- 2.40.0