• Elias Naur's avatar
    runtime: handle SIGPIPE in c-archive and c-shared programs · 78074f68
    Elias Naur authored
    Before this CL, Go programs in c-archive or c-shared buildmodes
    would not handle SIGPIPE. That leads to surprising behaviour where
    writes on a closed pipe or socket would raise SIGPIPE and terminate
    the program. This CL changes the Go runtime to handle
    SIGPIPE regardless of buildmode. In addition, SIGPIPE from non-Go
    code is forwarded.
    
    This is a refinement of CL 32796 that fixes the case where a non-default
    handler for SIGPIPE is installed by the host C program.
    
    Fixes #17393
    
    Change-Id: Ia41186e52c1ac209d0a594bae9904166ae7df7de
    Reviewed-on: https://go-review.googlesource.com/35960
    Run-TryBot: Elias Naur <elias.naur@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    78074f68
cgocall.go 20.6 KB