回应打电话的人,说孩子已经死了
我想忽略线程2的SIGPIPE,因为我不想在客户端关闭套接字时程序崩溃。所以我试着用
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGPIPE);
pthread_sigmask(SIG_BLOCK, &set, NULL);
在创建线程之前,我还尝试在main函数中使用下面的函数
signal(SIG_IGN, SIGPIPE);
在套接字中使用MSG_NOSIGNAL标志发送。
这也无助于我的SIGKILL场景。知道如何在像上面这样的多线程条件下安全地忽略发送了fork、exec和sigkill的SIGPIPE吗?