Re: avr32: handle_signal() bug?

From: Håvard Skinnemoen
Date: Wed Aug 17 2011 - 00:32:46 EST


On Tue, Aug 16, 2011 at 2:57 AM, Matt Fleming <matt@xxxxxxxxxxxxxxxxx> wrote:
> On Mon, 2011-08-15 at 22:55 -0700, Håvard Skinnemoen wrote:
>> /root # ./nodefer
>> SIGUSR2: not blocked
>> SIGTERM: not blocked
>
> Hmm.. that's interesting. I had a quick look through the rest of the
> code in the signal path and couldn't find anything obviously wrong. The
> only thing that looked suspicious is that you don't clear
> TIF_RESTORE_SIGMASK if you successsfully deliver a signal. Maybe try
> adding a clear_thread_flag(TIF_RESTORE_SIGMASK); to the success path in
> handle_signal() and see if you get better results? See the x86
> implementation for more details.

Yeah, probably worth a try. I wonder if I should take the opportunity
to make the signal handling code look more like x86. There's no good
reason to be different, really, other than a natural tendency to drift
apart over time.

>> On my desktop, it behaves as expected:
>>
>> $ ./nodefer-pc
>> SIGUSR2: blocked
>> SIGTERM: blocked
>>
>> Your patch doesn't appear to do any harm though, and it looks correct
>> to me. Perhaps there's another bug lurking somewhere as well. Some
>> preliminary debugging makes me suspicious about libc, but I can't tell
>> for sure yet.
>
> Which libc is this by the way?

uClibc-0.9.30. Dang, I thought I was running 0.9.31...I recall fixing
several nasty bugs between those two versions, so perhaps I should
upgrade it and see if it helps.

Havard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/