1 /* ========================================================================
2  * Copyright 1988-2006 University of Washington
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *
11  * ========================================================================
12  */
13 
14 /*
15  * Program:	UNIX Grim PID Reaper -- waitpid() version
16  *
17  * Author:	Mark Crispin
18  *		Networks and Distributed Computing
19  *		Computing & Communications
20  *		University of Washington
21  *		Administration Building, AG-44
22  *		Seattle, WA  98195
23  *		Internet: MRC@CAC.Washington.EDU
24  *
25  * Date:	30 November 1993
26  * Last Edited:	30 August 2006
27  */
28 
29 /* Grim PID reaper
30  * Accepts: process ID
31  *	    kill request flag
32  *	    status return value
33  */
34 
grim_pid_reap_status(int pid,int killreq,void * status)35 void grim_pid_reap_status (int pid,int killreq,void *status)
36 {
37   if (killreq) kill(pid,SIGHUP);/* kill if not already dead */
38   while ((waitpid (pid,status,NIL) < 0) && (errno != ECHILD));
39 }
40