Recent sigprocmask changes in libgo/runtime/proc.c killed thread debugging on alpha.

Ian Lance Taylor iant@google.com
Thu Feb 28 21:56:00 GMT 2013


On Thu, Feb 28, 2013 at 1:21 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Thu, Feb 28, 2013 at 9:55 PM, Ian Lance Taylor <iant@google.com> wrote:
>> On Thu, Feb 28, 2013 at 12:44 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>>
>>>> I'm fine with not blocking a signal that the debugger needs, but I
>>>> have no idea what that signal might be.
>>>
>>> Can you please advise me how to avoid blocking certain signal? I have
>>> a small testcase using pthreads that dies in the same way, so in fact
>>> the problem is not go specific. Anyway, I would like to investigate
>>> this issue some more.
>>
>> To avoid blocking a certain signal, after this line in proc.c
>>         sigfillset(&clear);
>> add
>>         sigdelset(&clear, SIGINT);
>> That will block all the signals other than SIGINT.  Pick whatever
>> signals you don't want to block, and call sigdelset as often as you
>> like.
>>
>> It may or may not help to know that there are two signals that are
>> special to the NPTL library: __SIGRTMIN and __SIGRTMIN + 1.  I don't
>> see why that would be an issue here, but who knows.
>
> Thanks for your instructions, I was able to find that SIGTRAP does all
> the difference!

Thanks.  I committed this patch.

Ian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: foo.patch
Type: application/octet-stream
Size: 573 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130228/e0e9cceb/attachment.obj>


More information about the Gcc-patches mailing list