12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- From a844abca43349739c36a4cdb7ea6f3bce560bd7f Mon Sep 17 00:00:00 2001
- From: Rolf Eike Beer <eb@emlix.com>
- Date: Thu, 8 Nov 2018 08:14:46 +0100
- Subject: [PATCH] look for pthread_atfork() also in lib c_nonshared
- Newer versions of glibc do not have pthread_nonshared anymore, instead the
- symbol is in c_nonshared. This fixes a crash on start on those platforms
- (namely with syslog-ng).
- Signed-off-by: Rolf Eike Beer <eb@emlix.com>
- [ThomasDS: backport from https://github.com/buytenh/ivykis/pull/16, at this
- moment not yet merged upstream.
- See also:
- - https://github.com/buytenh/ivykis/issues/15
- - https://github.com/balabit/syslog-ng/issues/2263
- ]
- Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
- ---
- configure.ac | 2 ++
- src/pthr.h | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
- diff --git a/lib/ivykis/configure.ac b/lib/ivykis/configure.ac
- index e9b10c0..56440d1 100644
- --- a/lib/ivykis/configure.ac
- +++ b/lib/ivykis/configure.ac
- @@ -88,6 +88,8 @@ esac
- # link in libpthread_nonshared.a if it is available.
- #
- AC_CHECK_LIB([pthread_nonshared], [pthread_atfork])
- +# the lib is gone in glibc 2.28, things are now in c_nonshared
- +AC_CHECK_LIB([c_nonshared], [pthread_atfork])
-
- # Checks for header files.
- AC_CHECK_HEADERS([process.h])
- diff --git a/lib/ivykis/src/pthr.h b/lib/ivykis/src/pthr.h
- index a41eaf3..32c1af2 100644
- --- a/lib/ivykis/src/pthr.h
- +++ b/lib/ivykis/src/pthr.h
- @@ -42,7 +42,7 @@ static inline int pthreads_available(void)
- * symbol because that causes it to be undefined even if you link
- * libpthread_nonshared.a in explicitly.
- */
- -#ifndef HAVE_LIBPTHREAD_NONSHARED
- +#if !defined(HAVE_LIBPTHREAD_NONSHARED) && !defined(HAVE_LIBC_NONSHARED)
- #pragma weak pthread_atfork
- #endif
-
|