runtime: For c-archive/c-shared, install signal handlers synchronously.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Feb 2016 22:10:09 +0000 (22:10 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Feb 2016 22:10:09 +0000 (22:10 +0000)
commitb841fbd417873fda16fbf42d5c6a52cccef384dc
tree0f1bf2665d8697cd161c1f9d5271e3db262ac73e
parentd6ad38a3785ff70a6c08d1693fe8376f8e788810
runtime: For c-archive/c-shared, install signal handlers synchronously.

    This is a port of https://golang.org/cl/18150 to the gccgo runtime.

    The previous behaviour of installing the signal handlers in a separate
    thread meant that Go initialization raced with non-Go initialization if
    the non-Go initialization also wanted to install signal handlers.  Make
    installing signal handlers synchronous so that the process-wide behavior
    is predictable.

    Reviewed-on: https://go-review.googlesource.com/19494

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233393 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/go/gofrontend/MERGE
libgo/runtime/go-libmain.c
libgo/runtime/proc.c
libgo/runtime/runtime.h
libgo/runtime/signal_unix.c