Replace use of signal() with sigaction()
Most of our uses of
signal() are simply unconditionally setting a signal handler, rather than saving/restoring them. Even then, they're setting handlers other than 'default' or 'ignore', which may be unsafe in multithreaded SMP builds.
Even worse are the few that actually do save and restore handlers. Some of those may even mix poorly with the few
sigaction() calls we do have.
Thus, all uses of
signal() should be converted to
sigaction() as the manual recommends.