我有一個線程我提出來接受傳入的連接:關閉文件描述符
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