All pastes #264743 Raw Edit

Mine

public text v1 · immutable
·published 2006-12-02 18:17 UTC
rendered paste body
void sigchld_handler(int sig) 
{
	pid_t pid;
	int status;
	while((pid=waitpid(-1,&status,WNOHANG|WUNTRACED))>0){
		if(!WIFSTOPPED(status))
			deletejob(jobs,pid);	
		if(WIFSTOPPED(status)){
			struct job_t *job=getjobpid(jobs,pid);
			job->state=ST;
		}
		if(WIFSIGNALED(status)){
			kill(pid,SIGINT);
		  	printf("Job [%d] (%d) terminated by signal %d\n", pid2jid(pid), pid, sig);
		}
 	}  
    return;
}