commit 3c1ff4a7ef296bb13dd3bdd75483c83ea8b29635
parent 6a35cdeedd4afe42f8860d372c855a0af0e9f235
Author: Waldemar Zimpel <w.zimpel@dev.utilizer.de>
Date: Sun, 8 Jun 2025 14:20:48 +0200
Unix processes / Obtain exit status code
The actual way for obtaining the exit code
of an exited child process
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/lib/process/waitpid.c b/src/lib/process/waitpid.c
@@ -1,6 +1,6 @@
/* Copyright (c) 2003-2004, Roger Dingledine
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2021, The Tor Project, Inc. */
+ * Copyright (c) 2007-2025, The Tor Project, Inc. */
/* See LICENSE for licensing information */
/**
@@ -146,6 +146,7 @@ notify_pending_waitpid_callbacks(void)
int status = 0;
while ((child = waitpid(-1, &status, WNOHANG)) > 0) {
+ status = WIFEXITED(status) ? WEXITSTATUS(status) : -1;
notify_waitpid_callback_by_pid(child, status);
status = 0; /* should be needless */
}