From 3bb7ad8246bca95c89d68a8b0402b8482489c877 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Wed, 21 Nov 2007 16:34:48 +0000 Subject: - added an identifier to command handler table - need to identify which command handler entries need to be removed when module is unloaded - added support so that linkedlist key can be used for owner handle - enhanced llExecFunc to support deletion of list elements (on behalf of user function being called, slight interface change) - enhanced linkedlist class so that list elements can now be deleted based on the key value they have - created entry point so that CfSysLine handlers are removed on modExit() --- syslogd.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'syslogd.c') diff --git a/syslogd.c b/syslogd.c index 70d68df2..5a087839 100644 --- a/syslogd.c +++ b/syslogd.c @@ -3644,8 +3644,6 @@ static void die(int sig) /* de-init some modules */ modExitIminternal(); - unregCfSysLineHdlrs(); /* TODO: this needs to go away when the module de-init works */ - /* TODO: this would also be the right place to de-init the builtin output modules. We * do not currently do that, because the module interface does not allow for * it. This will come some time later (it's essential with loadable modules). @@ -3658,6 +3656,12 @@ static void die(int sig) */ modUnloadAndDestructAll(); + /* the following line cleans up CfSysLineHandlers that were not based on loadable + * modules. As such, they are not yet cleared. + */ + unregCfSysLineHdlrs(); + + /* clean up auxiliary data */ if(pModDir != NULL) free(pModDir); -- cgit v1.2.3