diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-06 19:02:03 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-06 19:02:03 +0100 |
| commit | 922e978f56ed8a00700ed7730ea56bd1e10665b3 (patch) | |
| tree | e29d2e0bb11e51dbd7f90e289868b2506d33d302 /src/config/ConfigManager.cpp | |
| parent | 0508c7d3849fe2f557851619b0eb877b80112c66 (diff) | |
reset sigmask on fork
Diffstat (limited to 'src/config/ConfigManager.cpp')
| -rw-r--r-- | src/config/ConfigManager.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index c1ea3e01..da954cf9 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -379,6 +379,11 @@ void CConfigManager::handleRawExec(const std::string& command, const std::string if (child == 0) { // run in child grandchild = fork(); + + sigset_t set; + sigemptyset(&set); + sigprocmask(SIG_SETMASK, &set, NULL); + if (grandchild == 0) { // run in grandchild close(socket[0]); |
