Index: base/process/launch_posix.cc |
diff --git a/base/process/launch_posix.cc b/base/process/launch_posix.cc |
index f9963fa8ee98a13b1ea34a3508a015f1c61ec745..77edc1283191c9a6ad77b9a323cbd9cdf7d00153 100644 |
--- a/base/process/launch_posix.cc |
+++ b/base/process/launch_posix.cc |
@@ -523,6 +523,13 @@ Process LaunchProcess(const std::vector<std::string>& argv, |
RAW_LOG(FATAL, "prctl(PR_SET_NO_NEW_PRIVS) failed"); |
} |
} |
+ |
+ if (options.kill_on_parent_death) { |
+ if (prctl(PR_SET_PDEATHSIG, SIGKILL) != 0) { |
+ RAW_LOG(ERROR, "prctl(PR_SET_PDEATHSIG) failed"); |
+ _exit(127); |
+ } |
+ } |
#endif |
if (current_directory != nullptr) { |