The raise() function sends signal sig to the thread or process currently executing. If a signal handler is called, the raise() function shall not return until after the signal handler does. If the implementation supports Threads, then raise() is equivalent to: pthread_kill(pthread_self(), sig); If the implementation does not support threads, then raise() is equivalent to: kill(getpid(), sig); Upon successful completion, raise() shall return 0. Upon unsuccessful completion, raise() shall return a non-zero value. Upon unsuccessful completion, raise() sets errno to indicate the error. The only defined value of errno for raise() is EINVAL if the value of the sig argument is an invalid signal number. Multiple assertions tested.