recv出错errno=4[Interrupted system call]系统调用被信号中断 - 简书 (jianshu.com)
当然最简单的方法是忽略信号,在安装信号时,明确告诉系统不会产生该信号的中断。
struct sigaction action;
action.sa_handler = SIG_IGN;
sigemptyset(&action.sa_mask);
sigaction(SIGALRM, &action, NULL);
当recv操作因SIGALRM信号中断时,可以使用sigaction忽略该信号,避免系统调用被中断。设置信号处理函数为SIG_IGN可以防止信号导致的中断错误,确保系统调用的正常执行。
recv出错errno=4[Interrupted system call]系统调用被信号中断 - 简书 (jianshu.com)
当然最简单的方法是忽略信号,在安装信号时,明确告诉系统不会产生该信号的中断。
struct sigaction action;
action.sa_handler = SIG_IGN;
sigemptyset(&action.sa_mask);
sigaction(SIGALRM, &action, NULL);
1375

被折叠的 条评论
为什么被折叠?
