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.
ifdef'ed numbers. And yes, this means that WIFSIGNALED/etc should be
updated too, but this is also true with this patch.
Oleg.