guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/27: Use PR_SET_PDEATHSIG to ensure child cleanup


From: Ludovic Courtès
Subject: 02/27: Use PR_SET_PDEATHSIG to ensure child cleanup
Date: Wed, 03 Jun 2015 22:00:32 +0000

civodul pushed a commit to branch nix
in repository guix.

commit 1f8456ff13dadb96c8540df240505a2d01a22f6c
Author: Eelco Dolstra <address@hidden>
Date:   Thu Aug 21 15:31:43 2014 +0200

    Use PR_SET_PDEATHSIG to ensure child cleanup
---
 nix/libutil/util.cc |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc
index a4a1ddb..9bb6ba3 100644
--- a/nix/libutil/util.cc
+++ b/nix/libutil/util.cc
@@ -19,6 +19,10 @@
 #include <sys/syscall.h>
 #endif
 
+#ifdef __linux__
+#include <sys/prctl.h>
+#endif
+
 
 extern char * * environ;
 
@@ -867,6 +871,10 @@ pid_t startProcess(std::function<void()> fun,
     if (pid == 0) {
         _writeToStderr = 0;
         try {
+#if __linux__
+            if (dieWithParent && prctl(PR_SET_PDEATHSIG, SIGKILL) == -1)
+                throw SysError("setting death signal");
+#endif
             restoreAffinity();
             fun();
         } catch (std::exception & e) {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]