• Ian Lance Taylor's avatar
    runtime: ignore signal 33 == SIGSETXID on GNU/Linux · b9e051e8
    Ian Lance Taylor authored
    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
    b9e051e8
signals_linux.h 2.51 KB