X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Ffilter.c;h=b7979f3fbdb212a5227268a4ef74b838310711eb;hb=26275aa2f3a7de1a352f4dcbf7f6e8bebd6951bf;hp=06c8370c8f8ce960bfcc7f18f1bcc05f947f9993;hpb=826f1ab264718e5e4c6b101557cd205422d3d20b;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/filter.c b/ltt/branches/poly/lttv/lttv/filter.c index 06c8370c..b7979f3f 100644 --- a/ltt/branches/poly/lttv/lttv/filter.c +++ b/ltt/branches/poly/lttv/lttv/filter.c @@ -75,6 +75,7 @@ #include #include +#include #include #include @@ -1611,7 +1612,6 @@ lttv_filter_tree_parse( const LttEvent* event, const LttTracefile* tracefile, const LttTrace* trace, - const LttvProcessState* state, const LttvTracefileContext* context /*,...*/) { @@ -1652,12 +1652,22 @@ lttv_filter_tree_parse( */ gboolean lresult = FALSE, rresult = FALSE; + + LttvProcessState* state; + + if(LTTV_IS_TRACESET_STATE(context)) { + guint cpu = ltt_tracefile_num(context->tf); + LttvTraceState *ts = (LttvTraceState*)context->t_context; + state = ts->running_process[cpu]; + } else { + state = NULL; + } /* * Parse left branch */ if(t->left == LTTV_TREE_NODE) { - lresult = lttv_filter_tree_parse(t->l_child.t,event,tracefile,trace,state,context); + lresult = lttv_filter_tree_parse(t->l_child.t,event,tracefile,trace,context); } else if(t->left == LTTV_TREE_LEAF) { lresult = lttv_filter_tree_parse_branch(t->l_child.leaf,event,tracefile,trace,state,context); @@ -1674,7 +1684,7 @@ lttv_filter_tree_parse( * Parse right branch */ if(t->right == LTTV_TREE_NODE) { - rresult = lttv_filter_tree_parse(t->r_child.t,event,tracefile,trace,state,context); + rresult = lttv_filter_tree_parse(t->r_child.t,event,tracefile,trace,context); } else if(t->right == LTTV_TREE_LEAF) { rresult = lttv_filter_tree_parse_branch(t->r_child.leaf,event,tracefile,trace,state,context); @@ -1785,9 +1795,11 @@ lttv_filter_tree_parse_branch( case LTTV_FILTER_STATE_CPU: if(context == NULL) return TRUE; else { - /* FIXME: not sure of that one */ - GQuark quark = ((LttvTracefileState*)context)->cpu_name; - return se->op((gpointer)&quark,v); + /* FIXME: not sure of that one Mathieu : fixed.*/ + // GQuark quark = ((LttvTracefileState*)context)->cpu_name; + // return se->op((gpointer)&quark,v); + if(state == NULL) return TRUE; + else return se->op((gpointer)&state->cpu,v); } break; case LTTV_FILTER_EVENT_NAME: