summaryrefslogtreecommitdiff
path: root/src/basic/process-util.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-03-27 15:01:02 +0200
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commitb628c4dded8d514451cee188245aec42aea0707e (patch)
treef7a856c62953b3a84b965ef15fc3f772ca23fcbf /src/basic/process-util.h
parent961c23bd227db449039af8208733ac5927b8bf0f (diff)
process-util: add TAKE_PID(), similar to TAKE_PTR/TAKE_FD, but for child process PIDs
Diffstat (limited to 'src/basic/process-util.h')
-rw-r--r--src/basic/process-util.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/basic/process-util.h b/src/basic/process-util.h
index eff42d053..ee094932a 100644
--- a/src/basic/process-util.h
+++ b/src/basic/process-util.h
@@ -209,3 +209,11 @@ int fork_agent(const char *name, const int except[], unsigned n_except, pid_t *p
#endif
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_; \
+ })