Do not use __attribute__((constructor))
[lttv.git] / lttv / lttv / sync / event_processing_lttng_null.c
index 26971b262a2a9e3e22311d69344d0d91b5d311ed..3a917317af7bdee2d4c8805c13b33573210aa7e9 100644 (file)
@@ -20,6 +20,7 @@
 #include <config.h>
 #endif
 
+#include <stdarg.h>
 #include <stdlib.h>
 
 #include "sync_chain.h"
 #include "event_processing_lttng_null.h"
 
 
-#ifndef g_info
-#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
-#endif
-
-
 // Functions common to all processing modules
-static void initProcessingLTTVNull(SyncState* const syncState,
-       LttvTracesetContext* const traceSetContext);
+static void initProcessingLTTVNull(SyncState* const syncState, ...);
 static void destroyProcessingLTTVNull(SyncState* const syncState);
 
 static void finalizeProcessingLTTVNull(SyncState* const syncState);
 
 // Functions specific to this module
-static void registerProcessingLTTVNull() __attribute__((constructor (102)));
 static gboolean processEventLTTVNull(void* hookData, void* callData);
 
 
@@ -50,9 +44,6 @@ static ProcessingModule processingModuleLTTVNull = {
        .initProcessing= &initProcessingLTTVNull,
        .destroyProcessing= &destroyProcessingLTTVNull,
        .finalizeProcessing= &finalizeProcessingLTTVNull,
-       .printProcessingStats= NULL,
-       .writeProcessingGraphsPlots= NULL,
-       .writeProcessingGraphsOptions= NULL,
 };
 
 
@@ -60,7 +51,7 @@ static ProcessingModule processingModuleLTTVNull = {
 /*
  * Processing Module registering function
  */
-static void registerProcessingLTTVNull()
+void registerProcessingLTTVNull()
 {
        g_queue_push_tail(&processingModules, &processingModuleLTTVNull);
 
@@ -76,22 +67,25 @@ static void registerProcessingLTTVNull()
  *   syncState:    container for synchronization data.
  *                 This function allocates these processingData members:
  *                 hookListList
- *   traceSetContext: set of LTTV traces
+ *   traceSetContext: LttvTracesetContext*, set of LTTV traces
  */
-static void initProcessingLTTVNull(SyncState* const syncState,
-       LttvTracesetContext* const traceSetContext)
+static void initProcessingLTTVNull(SyncState* const syncState, ...)
 {
        ProcessingDataLTTVNull* processingData;
+       va_list ap;
 
        processingData= malloc(sizeof(ProcessingDataLTTVNull));
        syncState->processingData= processingData;
-       processingData->traceSetContext= traceSetContext;
-
+       va_start(ap, syncState);
+       processingData->traceSetContext= va_arg(ap, LttvTracesetContext*);
+       va_end(ap);
+       syncState->traceNb=
+               lttv_traceset_number(processingData->traceSetContext->ts);
        processingData->hookListList= g_array_sized_new(FALSE, FALSE,
                sizeof(GArray*), syncState->traceNb);
 
-       registerHooks(processingData->hookListList, traceSetContext,
-               &processEventLTTVNull, syncState,
+       registerHooks(processingData->hookListList,
+               processingData->traceSetContext, &processEventLTTVNull, syncState,
                syncState->matchingModule->canMatch);
 }
 
This page took 0.023594 seconds and 4 git commands to generate.