diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch new file mode 100644 index 0000000000..0fc320420e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch @@ -0,0 +1,43 @@ +From c7453b716ae308b89cf4b2b231a36ddd38a49752 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Mon, 25 Feb 2019 15:03:47 +0800 +Subject: [PATCH] fix missing of __register_atfork for non-glibc builds + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> + +--- + src/basic/process-util.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/basic/process-util.c b/src/basic/process-util.c +index 461bbfe9a5..2d06f9f60a 100644 +--- a/src/basic/process-util.c ++++ b/src/basic/process-util.c +@@ -18,6 +18,9 @@ + #if HAVE_VALGRIND_VALGRIND_H + #include <valgrind/valgrind.h> + #endif ++#ifndef __GLIBC__ ++#include <pthread.h> ++#endif + + #include "alloc-util.h" + #include "architecture.h" +@@ -1202,11 +1205,15 @@ void reset_cached_pid(void) { + cached_pid = CACHED_PID_UNSET; + } + ++#ifdef __GLIBC__ + /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc + * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against + * libpthread, as it is part of glibc anyway. */ + extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle); + extern void* __dso_handle _weak_; ++#else ++#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child) ++#endif + + pid_t getpid_cached(void) { + static bool installed = false; |