From 3c7104479c3d25db85705ddc6bdc01c19be0a54e Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 20 Jan 2011 13:36:00 -0500 Subject: [PATCH] runtime: drop CLONE_PARENT The functionality we want (shared ppid) is implied by CLONE_THREAD already, and CLONE_PARENT causes problems if the Go program is pid 1 (init). See issue 1406 for more details. Fixes #1406. R=adg, iant CC=golang-dev https://golang.org/cl/3971044 --- src/pkg/runtime/linux/thread.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pkg/runtime/linux/thread.c b/src/pkg/runtime/linux/thread.c index 979260ba1d1..d5f9a8fb0e3 100644 --- a/src/pkg/runtime/linux/thread.c +++ b/src/pkg/runtime/linux/thread.c @@ -238,8 +238,7 @@ runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void)) /* * note: strace gets confused if we use CLONE_PTRACE here. */ - flags = CLONE_PARENT /* getppid doesn't change in child */ - | CLONE_VM /* share memory */ + flags = CLONE_VM /* share memory */ | CLONE_FS /* share cwd, etc */ | CLONE_FILES /* share fd table */ | CLONE_SIGHAND /* share sig handler table */