aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-09-15 02:07:05 +0000
committer_ov4 <ov4@ov4.org>2026-09-15 02:07:05 +0000
commit3980d30d28951edcc34d16758d549bc4d4ab193e (patch)
treee61209c44cf875e59598782c41c9d35083124bc2 /src
parentaf69219a7229ccf524987123b2ecd70ff0456c9f (diff)
add safe_logger, and prepare for logical operators
Diffstat (limited to 'src')
-rw-r--r--src/eval.cc3
-rw-r--r--src/handler.cc5
2 files changed, 8 insertions, 0 deletions
diff --git a/src/eval.cc b/src/eval.cc
index becad3b..9c0210d 100644
--- a/src/eval.cc
+++ b/src/eval.cc
@@ -21,6 +21,7 @@
#include "lexer/token.h"
#include "lexer/enum_type.h"
#include "lexer/symbol_property.h"
+#include "handler.h"
using namespace std;
@@ -102,6 +103,8 @@ int eval_exe(string s, bool is_aync)
// parent
+ exit_required_pid = pid;
+
if (!is_aync) // foreground
{
addjob(pid, FG, cmdline);
diff --git a/src/handler.cc b/src/handler.cc
index 5850141..f611784 100644
--- a/src/handler.cc
+++ b/src/handler.cc
@@ -114,6 +114,11 @@ void sigchld_handler([[maybe_unused]] int sig)
if (WIFEXITED(status))
{
safe_output("Exit code: ", WEXITSTATUS(status), "\n");
+ if (pid == exit_required_pid)
+ {
+ exit_code = WEXITSTATUS(status);
+ safe_logger("sigchld_handler: required PID detected: ", pid, "\n");
+ }
}
}
}