sigchld.c

来自「unix环境编程」· C语言 代码 · 共 26 行

C
26
字号
#include	"calld.h"#include	<sys/wait.h>/* * SIGCHLD handler, invoked when a child terminates. * Probably interrupts accept() in serv_accept(). */voidsig_chld(int signo){	int		stat, errno_save;	pid_t	pid;	errno_save = errno;		/* log_msg() might change errno */	chld_flag = 1;	if ((pid = waitpid(-1, &stat, 0)) <= 0)		log_sys("waitpid error");	if (WIFEXITED(stat) != 0) /* set client childdone status for loop */		client_sigchld(pid, WEXITSTATUS(stat)+1);	else		log_msg("child %d terminated abnormally: %04x", pid, stat);	errno = errno_save;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?