[runtime] Make sure we use lower numbered signals on Android.
commit3a5adbd2aff0e0f72ceb58f4d953c1a552cb6a9e
authorRodrigo Kumpera <kumpera@gmail.com>
Fri, 3 Mar 2017 18:15:49 +0000 (3 10:15 -0800)
committerRodrigo Kumpera <kumpera@gmail.com>
Wed, 8 Mar 2017 23:34:38 +0000 (8 15:34 -0800)
tree8363d5c8223cb2c2137bd171c4cf8f528c9cc6f3
parentd455c0d23462d34352e4accd9953b1f487351c7f
[runtime] Make sure we use lower numbered signals on Android.

Android on 32bits arm shipped broken headers that made sigset_t be 32 bits instead of 64.

This means that it's not possible to use signals whose value are >= 32. The default implementation
uses RT signals when available (and they are on Android). But RT signals don't work as expected
as their value is >= 32.

This fix hardcodes some safe signals on Android and add asserts about their values to avoid regressions.

See 5005c6f3fbc1da584c6a550281689cc23f59fe6d for more details.
mono/utils/mono-threads-posix-signals.c