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

Reply via email to