Signal delivery on the current stack as opposed to a process-global
or per-signal sigaltstack is broken as hell. It messes up user-space
code that uses customised stack management methods.
sigaction() with SA_ONSTACK is unreliable because in reality applications
have linked-in libraries, and those libraries have no standard way of
knowing whether the main application wants SA_ONSTACK or not.
LD_PRELOAD:ing your own sigaction() is also unreliable, because C libs
tend to have internal calls that bypass the external name and go directly
to the internal __libc_sigaction() or whatever it happens to be called.
/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/