Improved memory debugging for xmalloc/nmem.c. References to NMEM
[yaz-moved-to-github.git] / server / statserv.c
index 64477ea..ec506a5 100644 (file)
@@ -7,7 +7,17 @@
  *   Chas Woodfield, Fretwell Downing Datasystem.
  *
  * $Log: statserv.c,v $
- * Revision 1.41  1997-09-29 07:19:32  adam
+ * Revision 1.43  1997-10-31 12:20:09  adam
+ * Improved memory debugging for xmalloc/nmem.c. References to NMEM
+ * instead of ODR in n ESPEC-1 handling in source d1_espec.c.
+ * Bug fix: missing fclose in data1_read_espec1.
+ *
+ * Revision 1.42  1997/10/27 14:03:02  adam
+ * Added new member to statserver_options_block, pre_init, which
+ * specifies a callback to be invoked after command line parsing and
+ * before the server listens for the first time.
+ *
+ * Revision 1.41  1997/09/29 07:19:32  adam
  * Server library uses nmem_init/nmem_exit. The log prefix no longer
  * includes leading path on NT.
  *
@@ -181,7 +191,8 @@ static statserv_options_block control_block = {
     60,                         /* idle timeout (minutes) */
     1024*1024,                  /* maximum PDU size (approx.) to allow */
     "default-config",           /* configuration name to pass to backend */
-    ""                          /* set user id */
+    "",                         /* set user id */
+    NULL
 };
 
 /*
@@ -393,10 +404,12 @@ static void listener(IOCHAN h, int event)
        }
        logf(LOG_DEBUG, "Setting timeout %d", control_block.idle_timeout);
        iochan_setdata(new_chan, newas);
-       iochan_settimeout(new_chan, control_block.idle_timeout * 60);
+       iochan_settimeout(new_chan, control_block.idle_timeout * 60);\r
+#ifndef WINDOWS
        logf(LOG_DEBUG, "Determining client address");
        a = cs_addrstr(new_line);
-       logf(LOG_LOG, "Accepted connection from %s", a ? a : "[Unknown]");
+       logf(LOG_LOG, "Accepted connection from %s", a ? a : "[Unknown]");\r
+#endif
     /* Now what we need todo is create a new thread with this iochan as
        the parameter */
     /* if (CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)event_loop, new_chan,
@@ -777,10 +790,6 @@ int statserv_main(int argc, char **argv)
             }
     }
 
-#if 0
-    log_init(control_block.loglevel, NULL, control_block.logfile);
-#endif /* WINDOWS */
-
     if ((pListener == NULL) && *control_block.default_listen)
            add_listener(control_block.default_listen, protocol);
 
@@ -789,6 +798,8 @@ int statserv_main(int argc, char **argv)
        inetd_connection(protocol);
     else
     {
+       if (control_block.pre_init)
+           (*control_block.pre_init)(&control_block);
        if (control_block.dynamic)
            signal(SIGCHLD, catchchld);
     }