侧边栏壁纸
博主头像
noerror

虚灵不寐,众理具而万事出。

  • 累计撰写 239 篇文章
  • 累计创建 9 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

pthread_kill函数用法详解

noerror
2022-10-04 / 0 评论 / 0 点赞 / 173 阅读 / 479 字 / 正在检测是否收录...

pthread_kill函数用法详解

pthread_kill函数简介

  • 头文件包含
#include <signal.h>
  • 函数定义
int pthread_kill(pthread_t  thread , int  sig );
  • 编译链接选项
-pthread

pthread_kill函数常见使用错误

  • 链接错误
    undefined reference to `pthread_kill'
    解决办法:添加链接选项
-pthread
  • 编译错误
    warning: implicit declaration of function ‘pthread_kill’ [-Wimplicit-function-declaration]
    解决办法:包含头文件
#include <signal.h>

pthread_kill函数详细描述

pthread_kill ()函数将信号sig发送到thread ,它是与调用者相同进程中的一个线程。信号异步地定向到thread
如果sig为0,则不发送信号,但仍执行错误检查。

pthread_kill函数返回值

成功时,pthread_kill ()返回0;出错时,它返回一个错误号,并且不发送任何信号。

pthread_kill函数错误码

  • EINVAL 指定了无效信号。

pthread_kill函数其他说明

信号处理是进程范围的:如果安装了信号处理程序,则该处理程序将在线程thread 中调用,但如果信号处理是“停止”、“继续”或“终止”,则该操作将影响整个进程。
pthread_kill ()的glibc实现在试图发送NPTL线程实现内部使用的任何一个实时信号时都会给出错误( EINVAL )。详见nptl (7)。
POSIX.1-2008建议,如果实现在其生存期结束后检测到线程ID的使用,pthread_kill ()应返回错误ESRCH 。在检测到无效线程ID的情况下,glibc实现返回此错误。但是还要注意,POSIX指出,试图使用生存期已经结束的线程ID会产生未定义的行为,例如,试图在对pthread_kill ()的调用中使用无效的线程ID会导致分段错误。

0

评论区