]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: clarify Pdeathsig documentation on Linux
authorVojtěch Boček <vojtech.bocek@avast.com>
Wed, 15 Jun 2022 09:36:27 +0000 (09:36 +0000)
committerGopher Robot <gobot@golang.org>
Wed, 15 Jun 2022 21:18:07 +0000 (21:18 +0000)
This is a rather large footgun, so let's mention that it sends the signal on thread termination and not process termination in the documentation.

Updates #27505

Change-Id: I489cf7136e34a1a7896067ae24187b0d523d987e
GitHub-Last-Rev: c8722b25d1fb8b0b3696257ec7e955eb421f15a6
GitHub-Pull-Request: golang/go#53365
Reviewed-on: https://go-review.googlesource.com/c/go/+/412114
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/syscall/exec_linux.go

index 6d4b6939ada4b3292d89bd40f65543213752e0ae..ede8247da93edead95bacab648192b18fec711ee 100644 (file)
@@ -45,7 +45,11 @@ type SysProcAttr struct {
        // number in the parent process.
        Foreground   bool
        Pgid         int            // Child's process group ID if Setpgid.
-       Pdeathsig    Signal         // Signal that the process will get when its parent dies (Linux and FreeBSD only)
+       // Pdeathsig, if non-zero, is a signal that the kernel will send to
+       // the child process when the creating thread dies. Note that the signal
+       // is sent on thread termination, which may happen before process termination.
+       // There are more details at https://go.dev/issue/27505.
+       Pdeathsig    Signal
        Cloneflags   uintptr        // Flags for clone calls (Linux only)
        Unshareflags uintptr        // Flags for unshare calls (Linux only)
        UidMappings  []SysProcIDMap // User ID mappings for user namespaces.