From: Lennart Poettering Date: Wed, 3 Nov 2021 14:55:14 +0000 (+0100) Subject: process-util: rework TAKE_PID() to be side-effect free X-Git-Tag: v250-rc1~364^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=883946f0d2a8d8086749636b729719c22c0c0dba;p=thirdparty%2Fsystemd.git process-util: rework TAKE_PID() to be side-effect free --- diff --git a/src/basic/process-util.h b/src/basic/process-util.h index c7622c98df5..25dea35ce6c 100644 --- a/src/basic/process-util.h +++ b/src/basic/process-util.h @@ -192,8 +192,9 @@ assert_cc(TASKS_MAX <= (unsigned long) PID_T_MAX); /* Like TAKE_PTR() but for child PIDs, resetting them to 0 */ #define TAKE_PID(pid) \ ({ \ - pid_t _pid_ = (pid); \ - (pid) = 0; \ + pid_t *_ppid_ = &(pid); \ + pid_t _pid_ = *_ppid_; \ + *_ppid_ = 0; \ _pid_; \ })