dgaudet 97/06/28 13:24:29
Modified: src CHANGES alloc.c alloc.h Log: Add kill_only_once option for free_proc_chain to avoid the SIGKILL. Submitted by: Stanley Gambarin <[EMAIL PROTECTED]> Revision Changes Path 1.301 +4 -0 apache/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.300 retrieving revision 1.301 diff -C3 -r1.300 -r1.301 *** CHANGES 1997/06/28 20:10:11 1.300 --- CHANGES 1997/06/28 20:24:26 1.301 *************** *** 8,13 **** --- 8,17 ---- *) mod_auth deals with extra ':' delimited fields. [Marc Slemko] + *) Added kill_only_once option for free_proc_chain so that it won't + aggressively try to kill off specific children. For fastcgi. + [Stanley Gambarin <[EMAIL PROTECTED]>] + Changes with Apache 1.2.1 *) SECURITY: Don't serve file system objects unless they are plain files, 1.34 +2 -1 apache/src/alloc.c Index: alloc.c =================================================================== RCS file: /export/home/cvs/apache/src/alloc.c,v retrieving revision 1.33 retrieving revision 1.34 diff -C3 -r1.33 -r1.34 *** alloc.c 1997/06/23 23:56:16 1.33 --- alloc.c 1997/06/28 20:24:27 1.34 *************** *** 1301,1307 **** #endif for (p = procs; p; p = p->next) { ! if (p->kill_how == kill_after_timeout) { /* Subprocess may be dead already. Only need the timeout if not. */ if (kill (p->pid, SIGTERM) != -1) need_timeout = 1; --- 1301,1308 ---- #endif for (p = procs; p; p = p->next) { ! if ((p->kill_how == kill_after_timeout) ! || (p->kill_how == kill_only_once)) { /* Subprocess may be dead already. Only need the timeout if not. */ if (kill (p->pid, SIGTERM) != -1) need_timeout = 1; 1.23 +2 -1 apache/src/alloc.h Index: alloc.h =================================================================== RCS file: /export/home/cvs/apache/src/alloc.h,v retrieving revision 1.22 retrieving revision 1.23 diff -C3 -r1.22 -r1.23 *** alloc.h 1997/06/15 19:22:23 1.22 --- alloc.h 1997/06/28 20:24:27 1.23 *************** *** 237,243 **** * to call in the child, and an argument to be passed to the function. */ ! enum kill_conditions { kill_never, kill_always, kill_after_timeout, just_wait}; int spawn_child_err (pool *, int (*)(void *), void *, enum kill_conditions, FILE **pipe_in, FILE **pipe_out, --- 237,244 ---- * to call in the child, and an argument to be passed to the function. */ ! enum kill_conditions { kill_never, kill_always, kill_after_timeout, just_wait, ! kill_only_once }; int spawn_child_err (pool *, int (*)(void *), void *, enum kill_conditions, FILE **pipe_in, FILE **pipe_out,