/* MODULE INITIALIZATION STUFF */
/*****************************************************************************/
-
+void control_cleanup(void)
+{
+ DeleteHash(&CfgNameHash);
+}
CTDL_MODULE_INIT(control)
{
if (!threading) {
CtdlRegisterProtoHook(cmd_gvdn, "GVDN", "get valid domain names");
CtdlRegisterProtoHook(cmd_conf, "CONF", "get/set system configuration");
+ CtdlRegisterCleanupHook(control_cleanup);
+
}
/* return our id for the Log */
return "control";
if (!threading)
{
SMTPCmds = NewHash(1, NULL);
+
RegisterSmtpCMD("AUTH", smtp_auth, 0);
RegisterSmtpCMD("DATA", smtp_data, 0);
RegisterSmtpCMD("HELO", smtp_hello, HELO);
NULL,
CitadelServiceSMTP_LMTP_UNF);
+ CtdlRegisterCleanupHook(smtp_cleanup);
CtdlRegisterSessionHook(smtp_cleanup_function, EVT_STOP, PRIO_STOP + 250);
}
{
MODM_syslog(LOG_DEBUG, "Destroyed cleanup function\n");
p = cur->next;
+ cur->h_function_pointer();
free(cur);
cur = p;
}