diff options
| author | _ov4 <ov4@ov4.org> | 2026-09-15 02:07:05 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-09-15 02:07:05 +0000 |
| commit | 3980d30d28951edcc34d16758d549bc4d4ab193e (patch) | |
| tree | e61209c44cf875e59598782c41c9d35083124bc2 /src | |
| parent | af69219a7229ccf524987123b2ecd70ff0456c9f (diff) | |
add safe_logger, and prepare for logical operators
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval.cc | 3 | ||||
| -rw-r--r-- | src/handler.cc | 5 |
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"); + } } } } |
