6.8.2 raise
函数
Linux
提供了向进程自身发送信号的接口:
raise
函数,其定义如下:
int raise(int sig);
这个接口对于单线程的程序而言,就相当于执行如下语句:
kill(getpid(),sig)
这个接口对于多线程的程序而言,就相当于执行如下语句:
pthread_kill(pthread_self(),sig)
执行成功的时候,返回
0
,否则返回非零的值,并置
errno
。如果
sig
的值是无效的,
raise
函数就将
errno
置为
EINVAL
。
值得注意的是,信号处理函数执行完毕之后,
raise
才能返回。