Apparently sigaction() is recommended over signal()