From be12d77a88a53e4a57d66753956a4ded95213010 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 16 一月 2020 16:32:49 +0800
Subject: [PATCH] fixed reid shm ipc bug

---
 app/master/reaper.go |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/app/master/reaper.go b/app/master/reaper.go
index 36bd4f7..1c48d59 100644
--- a/app/master/reaper.go
+++ b/app/master/reaper.go
@@ -51,19 +51,27 @@
 	cmd := exec.CommandContext(ctxt, bin, args...)
 	rEnv := ""
 	if len(env) != 0 {
-		rEnv = "LD_LIBRARY_PATH=" + env
+		runtime := "LD_LIBRARY_PATH"
+		rEnv = runtime + "=" + env
 		logo.Infoln("Env String: ", rEnv)
+
+		// remove os environ ld
+		old := os.Getenv(runtime)
+		os.Unsetenv(runtime)
 		cmd.Env = os.Environ()
 		cmd.Env = append(cmd.Env, rEnv)
+		os.Setenv(runtime, old)
 	}
 
 	pid := -1
 	cmd.Stdout = os.Stdout
 	cmd.Stderr = os.Stderr
+	cmd.SysProcAttr = &syscall.SysProcAttr{Pdeathsig: syscall.SIGTERM}
+
 	err := cmd.Start()
 	if err == nil {
 		pid = cmd.Process.Pid
-		procMap[pid] = &procInfo{cmd, rEnv}
+		procMap[pid] = &procInfo{cmd, env}
 	}
 	return pid, err
 }

--
Gitblit v1.8.0