Possible compatibility problems with earlier versions marked with '*'.
+Fixed memory leak in server. Request queue member wasn't freed.
+
+Fixed nmem_exit so that memory is freed.
+
--- 1.4 1997/10/2
Revised the CCL parser utility to be thread safe.
* OF THIS SOFTWARE.
*
* $Log: statserv.h,v $
- * Revision 1.10 1997-09-01 09:31:26 adam
+ * Revision 1.11 1997-10-27 14:03:01 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.10 1997/09/01 09:31:26 adam
* Removed definition statserv_remove to eventl.h. (A hack really).
*
* Revision 1.9 1997/09/01 08:49:53 adam
int maxrecordsize; /* maximum value for negotiation */
char configname[ODR_MAXNAME+1]; /* given to the backend in bend_init */
char setuid[ODR_MAXNAME+1]; /* setuid to this user after binding */
+
+ void (*pre_init)(struct statserv_options_block *p);
} statserv_options_block;
int statserv_main(int argc, char **argv);
* Chas Woodfield, Fretwell Downing Datasystem.
*
* $Log: statserv.c,v $
- * Revision 1.41 1997-09-29 07:19:32 adam
+ * 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.
*
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
};
/*
}
}
-#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);
inetd_connection(protocol);
else
{
+ if (control_block.pre_init)
+ (*control_block.pre_init)(&control_block);
if (control_block.dynamic)
signal(SIGCHLD, catchchld);
}