Under signal/signal.c the comment header states the following: /* Set the handler for the signal SIG to HANDLER, returning the old handler, or SIG_ERR on error. */ Yet the function doesn't return the old handler at any point, it only returns SIG_ERR. Is my understanding correct? If so, is the comment wrong and should be corrected? I understand that using signal() is to be avoided and I should use sigaction instead. __sighandler_t signal (int sig, __sighandler_t handler) { __set_errno (ENOSYS); return SIG_ERR;} Thanks, -Firas