• Ian Lance Taylor's avatar
    runtime: if we don't handle a signal on a non-Go thread, raise it · 872b168f
    Ian Lance Taylor authored
    In the past badsignal would crash the program.  In
    https://golang.org/cl/10757044 badsignal was changed to call sigsend,
    to fix issue #3250.  The effect of this was that when a non-Go thread
    received a signal, and os/signal.Notify was not being used to check
    for occurrences of the signal, the signal was ignored.
    
    This changes the code so that if os/signal.Notify is not being used,
    then the signal handler is reset to what it was, and the signal is
    raised again.  This lets non-Go threads handle the signal as they
    wish.  In particular, it means that a segmentation violation in a
    non-Go thread will ordinarily crash the process, as it should.
    
    Fixes #10139.
    Update #11794.
    
    Change-Id: I2109444aaada9d963ad03b1d071ec667760515e5
    Reviewed-on: https://go-review.googlesource.com/12503Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    Run-TryBot: Ian Lance Taylor <iant@golang.org>
    872b168f
crash_cgo_test.go 6.68 KB