This patch reworks some of the checks in TPF's os_check_server function
to better accommodate TPF's Internet Daemon processing.

David McCreedy


Index: apache-1.3/src/os/tpf/os.c
===================================================================
RCS file: /home/cvs/apache-1.3/src/os/tpf/os.c,v
retrieving revision 1.17
diff -u -d -b -r1.17 os.c
--- apache-1.3/src/os/tpf/os.c  19 May 2002 04:55:39 -0000      1.17
+++ apache-1.3/src/os/tpf/os.c  29 May 2002 14:59:53 -0000
@@ -448,25 +448,25 @@
 int os_check_server(char *server) {
     int *current_acn;
 
-    if (zinet_model == INETD_IDCF_MODEL_NOLISTEN) {
-        /* if NOLISTEN model, check with ZINET for status */
-        if (inetd_getServerStatus(server) == INETD_SERVER_STATUS_INACTIVE) {
-            return 1;
-        }
-        /* and check that program activation number hasn't changed */
+    /* check that the program activation number hasn't changed */
         current_acn = (int *)cinfc_fast(CINFC_CMMACNUM);
         if (ecbp2()->ce2acn != *current_acn) {
-            return 1;
+        return 1;  /* shutdown */
         }
 
-    } else {
-        /* if DAEMON model, just make sure parent is still around */
+    /* check our InetD status */
+    if (inetd_getServerStatus(server) != INETD_SERVER_STATUS_ACTIVE) {
+        return 1;  /* shutdown */
+    }
+
+    /* if DAEMON model, make sure parent is still around */
+    if (zinet_model == INETD_IDCF_MODEL_DAEMON) {
         if (getppid() == 1) {
-            return 1;
+            return 1;  /* shutdown */
         }
     }
 
-    return 0;
+    return 0;  /* keep on running... */
 }
 
 void os_note_additional_cleanups(pool *p, int sd) {

Reply via email to