lkml.org 
[lkml]   [2013]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3] kernel/signal.c: fix BUG_ON with SIG128 (MIPS)
On 06/21/2013 01:22 PM, Oleg Nesterov wrote:
> On 06/21, David Daney wrote:
>>
>> On 06/21/2013 06:39 AM, James Hogan wrote:
>>> Therefore add sig_to_exitcode() and exitcode_to_sig() functions which
>>> map signal numbers > 126 to exit code 126 and puts the remainder (i.e.
>>> sig - 126) in higher bits. This allows WIFSIGNALED() to return true for
>>> both SIG127 and SIG128, and allows WTERMSIG to be later updated to read
>>> the correct signal number for SIG127 and SIG128.
>>
>> I really hate this approach.
>>
>> Can we just change the ABI to reduce the number of signals so that all
>> the standard C library wait related macros don't have to be changed?
>>
>> Think about it, any user space program using signal numbers 127 and 128
>> doesn't work correctly as things exist today, so removing those two will
>> be no great loss.
>
> Oh, I agree.
>
> Besides, this changes ABI anyway. And if we change it we can do this in
> a more clean way, afaics. MIPS should simply use 2 bytes in exit_code for
> signal number.

Wouldn't that break *all* existing programs that use signals? Perhaps I
misunderstand what you are suggesting.

I am proposing that we just reduce the number of usable signals such
that existing libc status checking macros/functions don't change in any way.

Yes, this means we need replace 0x80/0x7f in exit.c by
> ifdef'ed numbers. And yes, this means that WIFSIGNALED/etc should be
> updated too, but this is also true with this patch.
>
> Oleg.
>
>



\
 
 \ /
  Last update: 2013-06-21 23:01    [W:0.339 / U:0.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site