]> Cypherpunks repositories - gostls13.git/commit
runtime: ignore signal 33 == SIGSETXID on GNU/Linux
authorIan Lance Taylor <iant@golang.org>
Fri, 27 Jul 2012 05:46:20 +0000 (22:46 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 27 Jul 2012 05:46:20 +0000 (22:46 -0700)
commitb9e051e82d25b5fae040d7f6235774b48e3f3a2b
tree9f12a9f6d3f69cd132c82c6c7e2696232bcaab60
parenta7c74d52dc49a6b6e448e301165a76bf3fb0a3c7
runtime: ignore signal 33 == SIGSETXID on GNU/Linux

When a cgo program calls setuid, setgid, etc., the GNU/Linux
pthread library sends signal SIGSETXID to each thread to tell
it to update its UID info.  If Go is permitted to intercept
the default SIGSETXID signal handler, the program will hang.

This patch tells the runtime package to not try to intercept
SIGSETXID on GNU/Linux.  This will be odd if a Go program
wants to try to use that signal, but it means that cgo
programs that call setuid, etc., won't hang.

Fixes #3871.

R=rsc, r, minux.ma, bradfitz
CC=golang-dev
https://golang.org/cl/6455050
src/pkg/runtime/signals_linux.h