diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-28 21:56:14 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-28 21:56:14 +0000 |
commit | 886edb46576eb3eabeea3a7d138d755e188437ab (patch) | |
tree | fd28ce5047f23384c6a3f80900cb0576ada467b0 /libgo | |
parent | a9196da948b3e12daa6680f51c5f618ed18750fc (diff) | |
download | gcc-886edb46576eb3eabeea3a7d138d755e188437ab.tar.gz |
runtime: Don't block SIGTRAP while creating a new thread.
Thanks to Uros Bizjak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196362 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/runtime/proc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c index b59f4acf0dc..9b563a50946 100644 --- a/libgo/runtime/proc.c +++ b/libgo/runtime/proc.c @@ -1256,6 +1256,12 @@ runtime_newm(void) // Block signals during pthread_create so that the new thread // starts with signals disabled. It will enable them in minit. sigfillset(&clear); + +#ifdef SIGTRAP + // Blocking SIGTRAP reportedly breaks gdb on Alpha GNU/Linux. + sigdelset(&clear, SIGTRAP); +#endif + sigemptyset(&old); sigprocmask(SIG_BLOCK, &clear, &old); ret = pthread_create(&tid, &attr, runtime_mstart, mp); |