tree d4215b7068389d83e05f074775ca293e07d734a5
parent d45ff8ebf88ef4add46a80ccdfc2d97a8b4b091b
author Kevin Adler <kadler@us.ibm.com> 1604122544 -0500
committer Kevin Adler <kadler@us.ibm.com> 1604124157 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEu/+v+/n0tyNWoIsgSVC4ZW7zQyMFAl+c/f0ACgkQSVC4ZW7z
 QyO1+w//fELCKae2Pl7eFFS0fIxyz31iNOTFbYrszKuNpKbKwQxEAGktu7kSyE56
 52zeb3DtPXXkXBBSV/RWm/XQtzpaB1U15F5d/xR9p2CSySXwEQvqrJTGK0M874ea
 7uzTC8obNeMRjonrUqRX+5a/D4QqYmlDYvm/mK3VL1k7cnEbq8gQWEX2I8YpAfHX
 thJStpf7abKz41kscf2A10sXG5F5qC+1dv7pHl7+hLKLe4riU6+pvuW6nzLpriQt
 WtuMe+pW9qBN5C0wfAJipK+f9kBE/+5n/JL1FJMlOA+ftGvrfDJbX2GFmMIPseMV
 JEAuDjG59ViXRKEu5JDnetXCk4M8I6CwrQFPf83QcslHp3r+gZNg+ZLAzGgaeijP
 C3/tD5h0nmr1orBhYjxokPPSvcWihx616eQ4bWPZULr8XR6Ywv9diyhytad45prx
 xQiIfhEAfF9nFinyi1aUnHLtRBJ72WcvTaDaTk+grOQScfSabN1zd3q01FZGsOfO
 jXE6/BDjOMTMil2g/mJ0zlPZz+VzHT9tXTNXvgLaLbNQFhk+k+se3Key880OvHlD
 YHNSGiYvckj1iJFW7GjUf+rqvSJcPgS+429JBDqor7pverADKhz2qqslqYCMztsV
 mDs3gHYrymBLfRmstLQaQoqm9JC5fTDKkMxAEfnH0CUS2eyXcWM=
 =Ucav
 -----END PGP SIGNATURE-----

Handle process signalling correctly on AIX

POSIX shells set the exit code to 128 + the signal number, which
coincidentally matches the layout used by the WIFSIGNALLED/WTERMSIG
macros on most Unix-like systems, but not on AIX. Instead, AIX stores
the signal value in the bottom 8 bits and also bits 16-23. The only time
ninja currently handles signals correctly is when the shell used to call
the program dies via signal.

To handle both scenarios, we detect the shell exit code format and
convert it to the format that the WIFSIGNALED/WTERMSIG macros expect.

Fixes #1623
