FreeBSD/usr.bin/mail/popen.c
/*
 * Mark a child as don't care.
 */
Mark a child as don't care.
Mark a child as don ' t care .
void
free_child(int pid)
{
	sigset_t nset, oset;
	struct child *cp = findchild(pid);
	(void)sigemptyset(&nset);
	(void)sigaddset(&nset, SIGCHLD);
	(void)sigprocmask(SIG_BLOCK, &nset, &oset);	
	if (cp->done)
		delchild(cp);
	else
		cp->free = 1;
	(void)sigprocmask(SIG_SETMASK, &oset, NULL);
}
void free_child ( int pid ) { sigset_t nset , oset ; struct child * cp = findchild ( pid ) ; ( void ) sigemptyset ( & nset ) ; ( void ) sigaddset ( & nset , SIGCHLD ) ; ( void ) sigprocmask ( SIG_BLOCK , & nset , & oset ) ; if ( cp -> done ) delchild ( cp ) ; else cp -> free = 1 ; ( void ) sigprocmask ( SIG_SETMASK , & oset , NULL ) ; }
Mark a child as don't care.
Mark a child as don ' t care .