我有一个线程我提出来接受传入的连接:关闭文件描述符
pthread_t thread;
pthread_create(&thread, NULL, worker_func, NULL);
pthread_detach(thread);
然后worker_func
作用:
<snip>
fd = accept(GlobalFD, NULL, NULL);
<snip>
但是,如果我尝试在我原来的关闭GlobalFD
线程,接受仍然会阻塞(如果GlobalFD关闭,我希望它失败)。我在网上查看了其他问题,似乎无法找到解决特定问题的答案。
任何想法? 谢谢
但是,当我关闭'GlobalFD'我想接受失败,以便线程将优雅地关闭!编辑我的主要问题。 – pika
@pika,回答更新 –
似乎'pthread_kill(thread,SIGINT)'没有效果,有或没有信号处理程序。然而它返回0,这意味着它发送了信号。 – pika