X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fsync_chain_lttv.c;h=7fd0c6e435666300fa646cdddf90b692af97629e;hb=2f961b65e3422f23019286e9531b0a40070278ea;hp=dc207babfb6bb949c46764c0fb4dce53787c874b;hpb=18b84fc03e0b71d5331ef072e05a5da24fd742a7;p=lttv.git diff --git a/lttv/lttv/sync/sync_chain_lttv.c b/lttv/lttv/sync/sync_chain_lttv.c index dc207bab..7fd0c6e4 100644 --- a/lttv/lttv/sync/sync_chain_lttv.c +++ b/lttv/lttv/sync/sync_chain_lttv.c @@ -33,6 +33,15 @@ #include #include + +#include "event_processing_lttng_standard.h" +#include "event_processing_lttng_null.h" +#include "event_matching_tcp.h" +#include "event_matching_broadcast.h" +#include "event_matching_distributor.h" +#include "event_analysis_chull.h" +#include "event_analysis_linreg.h" +#include "event_analysis_eval.h" #include "sync_chain.h" #include "sync_chain_lttv.h" @@ -80,13 +89,7 @@ static ModuleOption optionSyncGraphsDir= { /* * Module init function * - * This function is declared to be the module initialization function. Event - * modules are registered with a "constructor (102)" attribute except one in - * each class (processing, matching, analysis) which is chosen to be the - * default and which is registered with a "constructor (101)" attribute. - * Constructors with no priority are called after constructors with - * priorities. The result is that the list of event modules is known when this - * function is executed. + * This function is declared to be the module initialization function. */ static void init() { @@ -94,6 +97,24 @@ static void init() g_debug("Sync init"); + /* + * Initialize event modules + * Call the "constructor" or initialization function of each event module + * so it can register itself. This must be done before elements in + * processingModules, matchingModules, analysisModules or moduleOptions + * are accessed. + */ + registerProcessingLTTVStandard(); + registerProcessingLTTVNull(); + + registerMatchingTCP(); + registerMatchingBroadcast(); + registerMatchingDistributor(); + + registerAnalysisCHull(); + registerAnalysisLinReg(); + registerAnalysisEval(); + g_assert(g_queue_get_length(&analysisModules) > 0); optionSyncAnalysis.arg= ((AnalysisModule*) g_queue_peek_head(&analysisModules))->name;