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");
}