Add missing function for Filedata API. Clean up list in all functions.
tm_module->ThreadDeinit(tv, store->thread_data);
}
+ OutputLoggerThreadStore *next_store = store->next;
+ SCFree(store);
+ store = next_store;
logger = logger->next;
- store = store->next;
}
return TM_ECODE_OK;
}
{
OutputFileLogger *logger = list;
while (logger) {
- if (logger->output_ctx != NULL && logger->output_ctx->DeInit != NULL)
- logger->output_ctx->DeInit(logger->output_ctx);
- logger = logger->next;
+ OutputFileLogger *next_logger = logger->next;
+ SCFree(logger);
+ logger = next_logger;
}
+
+ list = NULL;
}
tm_module->ThreadDeinit(tv, store->thread_data);
}
+ OutputLoggerThreadStore *next_store = store->next;
+ SCFree(store);
+ store = next_store;
logger = logger->next;
- store = store->next;
}
SCMutexLock(&g_waldo_mutex);
SC_ATOMIC_INIT(file_id);
}
+
+void OutputFiledataShutdown(void)
+{
+ OutputFiledataLogger *logger = list;
+ while (logger) {
+ OutputFiledataLogger *next_logger = logger->next;
+ SCFree(logger);
+ logger = next_logger;
+ }
+
+ list = NULL;
+}
void TmModuleFiledataLoggerRegister (void);
+void OutputFiledataShutdown(void);
+
#endif /* __OUTPUT_FILE_H__ */
tm_module->ThreadDeinit(tv, store->thread_data);
}
+ OutputLoggerThreadStore *next_store = store->next;
+ SCFree(store);
+ store = next_store;
+
logger = logger->next;
- store = store->next;
}
return TM_ECODE_OK;
}
{
OutputPacketLogger *logger = list;
while (logger) {
- if (logger->output_ctx != NULL && logger->output_ctx->DeInit != NULL)
- logger->output_ctx->DeInit(logger->output_ctx);
- logger = logger->next;
+ OutputPacketLogger *next_logger = logger->next;
+ SCFree(logger);
+ logger = next_logger;
}
- /* FIXME */
+ /* reset list pointer */
list = NULL;
}
tm_module->ThreadDeinit(tv, store->thread_data);
}
+ OutputLoggerThreadStore *next_store = store->next;
+ SCFree(store);
+ store = next_store;
logger = logger->next;
- store = store->next;
}
return TM_ECODE_OK;
}
{
OutputTxLogger *logger = list;
while (logger) {
- if (logger->output_ctx != NULL && logger->output_ctx->DeInit != NULL)
- logger->output_ctx->DeInit(logger->output_ctx);
- logger = logger->next;
+ OutputTxLogger *next_logger = logger->next;
+ SCFree(logger);
+ logger = next_logger;
}
+ list = NULL;
}