aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/signal_unix.c
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2014-06-04 23:15:33 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2014-06-04 23:15:33 +0000
commitbae90c989cb020d17a24919ec84c0b8dd2fae2da (patch)
tree89766166feb4ceca2d983169c5360e3f6f521b12 /libgo/runtime/signal_unix.c
parent82b3da6a714493644a4333bfd8205e3341ed3b8e (diff)
downloadgcc-bae90c989cb020d17a24919ec84c0b8dd2fae2da.zip
gcc-bae90c989cb020d17a24919ec84c0b8dd2fae2da.tar.gz
gcc-bae90c989cb020d17a24919ec84c0b8dd2fae2da.tar.bz2
libgo: Merge from revision 18783:00cce3a34d7e of master library.
This revision was committed January 7, 2014. The next revision deleted runtime/mfinal.c. That will be done in a subsequent merge. This merge changes type descriptors to add a zero field, pointing to a zero value for that type. This is implemented as a common variable. * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and alignment parameters. Permit init parameter to be NULL. From-SVN: r211249
Diffstat (limited to 'libgo/runtime/signal_unix.c')
-rw-r--r--libgo/runtime/signal_unix.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libgo/runtime/signal_unix.c b/libgo/runtime/signal_unix.c
index ea0a58f..6c191d0 100644
--- a/libgo/runtime/signal_unix.c
+++ b/libgo/runtime/signal_unix.c
@@ -122,6 +122,14 @@ os_sigpipe(void)
}
void
+runtime_unblocksignals(void)
+{
+ sigset_t sigset_none;
+ sigemptyset(&sigset_none);
+ pthread_sigmask(SIG_SETMASK, &sigset_none, nil);
+}
+
+void
runtime_crash(void)
{
int32 i;
@@ -137,6 +145,7 @@ runtime_crash(void)
return;
#endif
+ runtime_unblocksignals();
for(i = 0; runtime_sigtab[i].sig != -1; i++)
if(runtime_sigtab[i].sig == SIGABRT)
break;