From: Russ Cox Date: Thu, 20 Jan 2011 18:36:00 +0000 (-0500) Subject: runtime: drop CLONE_PARENT X-Git-Tag: weekly.2011-02-01~115 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3c7104479c3d25db85705ddc6bdc01c19be0a54e;p=gostls13.git 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 --- diff --git a/src/pkg/runtime/linux/thread.c b/src/pkg/runtime/linux/thread.c index 979260ba1d..d5f9a8fb0e 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 */