On Android, the following calls generate a SIGSYS signal that is neither blocked by pthread_sigmask(SIG_BLOCK, {SIGSYS}) nor ignored after its handler is set to SIG_IGN:
(os.chroot(path))
os.setgid(rgid)
os.setuid(ruid)
(os.setegid(gid))
os.setregid(rgid, egid)
os.setreuid(ruid, euid)
os.setresgid(rgid, egid, sgid)
time.clock_settime(clock, time)
time.clock_settime_ns(clock, time)
(socket.sethostname(name))
On the other hand, signal(SIGSYS, lambda s, p: None) will catch the signal, but based on frame it receives (None), I suspect this is a coincidence. Also, the functions with parenthesized names in that list raise the equivalent of OSError(0, "Error", "%s"%args[0]). |