summaryrefslogtreecommitdiff
path: root/src/basic/process-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-02-07 03:10:09 +0100
committerSven Eden <yamakuzure@gmx.net>2018-05-30 07:53:59 +0200
commit654539402a79b3341584f4694da4b08b8ce35458 (patch)
treeb63bae2fc6760ed43f20be69113e2bd80af18d96 /src/basic/process-util.c
parent34e3453d337962906b7f3bbe6285b26ae6600173 (diff)
process-util: use raw_getpid() in getpid_cache() internally (#8115)
We have the raw_getpid() definition in place anyway, and it's certainly beneficial to expose the same semantics on pre glibc 2.24 and after it too, hence always bypass glibc for this, and always cache things on our side. Fixes: #8113 (cherry picked from commit 996def17f99bb3f41f82032860dfcb98ff19c3ae)
Diffstat (limited to 'src/basic/process-util.c')
-rw-r--r--src/basic/process-util.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
index 3746f224a..ba8b3d80f 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -1151,7 +1151,7 @@ pid_t getpid_cached(void) {
case CACHED_PID_UNSET: { /* Not initialized yet, then do so now */
pid_t new_pid;
- new_pid = getpid();
+ new_pid = raw_getpid();
if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
/* OOM? Let's try again later */
@@ -1164,7 +1164,7 @@ pid_t getpid_cached(void) {
}
case CACHED_PID_BUSY: /* Somebody else is currently initializing */
- return getpid();
+ return raw_getpid();
default: /* Properly initialized */
return current_value;