Make sure signal is not blocked. If it is, return SIG_HOLD instead of handler and unblock the signal.