This basically adds a new define, ap_os_killpg that is intended to eventually replace the unixd/beosd_killpg.
I've included the change for the worker MPM though I'm sure we can find other places it could be applied to. OS/2, Netware and Windows haven't been addressed by this patch (as they don't build the worker MPM at present). Thoughts? david cvs server: Diffing os/unix Index: os/unix/unixd.h =================================================================== RCS file: /home/cvs/httpd-2.0/os/unix/unixd.h,v retrieving revision 1.31 diff -u -r1.31 unixd.h --- os/unix/unixd.h 2001/11/13 22:42:38 1.31 +++ os/unix/unixd.h 2001/12/25 02:43:24 @@ -125,8 +125,10 @@ #ifdef HAVE_KILLPG #define unixd_killpg(x, y) (killpg ((x), (y))) +#define ap_os_killpg(x, y) (killpg ((x), (y))) #else /* HAVE_KILLPG */ #define unixd_killpg(x, y) (kill (-(x), (y))) +#define ap_os_killpg(x, y) (kill (-(x), (y))) #endif /* HAVE_KILLPG */ #define UNIX_DAEMON_COMMANDS \ cvs server: Diffing os/beos Index: os/beos/beosd.h =================================================================== RCS file: /home/cvs/httpd-2.0/os/beos/beosd.h,v retrieving revision 1.12 diff -u -r1.12 beosd.h --- os/beos/beosd.h 2001/12/23 14:13:07 1.12 +++ os/beos/beosd.h 2001/12/25 02:43:24 @@ -91,6 +91,7 @@ apr_pool_t *ptrans); #define beosd_killpg(x, y) (kill (-(x), (y))) +#define ap_os_killpg(x, y) (kill (-(x), (y))) #define BEOS_DAEMON_COMMANDS \ AP_INIT_TAKE1("User", beosd_set_user, NULL, RSRC_CONF, \ Index: server/mpm/worker/worker.c =================================================================== RCS file: /home/cvs/httpd-2.0/server/mpm/worker/worker.c,v retrieving revision 1.53 diff -u -r1.53 worker.c --- server/mpm/worker/worker.c 2001/12/25 02:34:29 1.53 +++ server/mpm/worker/worker.c 2001/12/25 02:43:24 @@ -1466,7 +1470,7 @@ */ wake_up_and_die(); - if (unixd_killpg(getpgrp(), SIGTERM) < 0) { + if (ap_os_killpg(getpgrp(), SIGTERM) < 0) { ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "killpg SIGTERM"); }