Tim*_*mmm 3 linux signals pthreads interrupt system-calls
我有一个循环运行的 pthread,accept()
以阻塞方式调用。有什么办法可以中断来自另一个线程的调用吗?一切都指向向线程发送信号,但显然您只能向进程发送信号。
我不能只是杀死线程,因为它会使套接字保持打开状态。反正那不是很干净。真的没有办法做到这一点吗?
您可以使用pthread_kill(3)
.
该
pthread_kill()
函数将信号 sig 发送到线程,该线程与调用者处于同一进程中。如果安装了信号处理程序,则将在线程thread 中调用该处理程序。
请注意,您不必杀死线程;你可以发送一个简单地使accept
失败的信号EINTR
。
归档时间: |
|
查看次数: |
3239 次 |
最近记录: |