summaryrefslogtreecommitdiff
path: root/src/basic/process-util.c
diff options
context:
space:
mode:
authormaxice8 <thinkabit.ukim@gmail.com>2018-01-16 08:29:32 -0200
committerSven Eden <yamakuzure@gmx.net>2018-01-24 13:22:41 +0100
commit572cbd8524a5e2b22150c32118f58672449a5ca7 (patch)
tree93f52ddcca3ac71f14e28fdbced5320863c1f54f /src/basic/process-util.c
parent047b54346db53a6144172f6c2fd05e329ad39913 (diff)
work-around usage of glibc-specific __register_atfork for musl systems
__register_atfork is glibc-specific but is roughly equivalent to pthread_atfork, add a definition of it on musl_missing.h and guard against the definition of __register_atfork on src/basic/process-util.c using #ifdef __GLIBC__
Diffstat (limited to 'src/basic/process-util.c')
-rw-r--r--src/basic/process-util.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
index d15027751..89e6f576b 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -1022,8 +1022,10 @@ static void reset_cached_pid(void) {
/* 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. */
+#ifdef __GLIBC__
extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle);
extern void* __dso_handle __attribute__ ((__weak__));
+#endif // ifdef __GLIBC__
pid_t getpid_cached(void) {
pid_t current_value;