X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Ftraceset.c;h=765e3cf5552243e90e6e0bec608d0c6f9c196ba2;hb=cfddb03e13ef1d0033f748e7a20910522d6e434e;hp=8743d70825d54a51549a2f783373f78fca33ff68;hpb=13d35254ac627d7763cca99d0a534bc1dea3461a;p=lttv.git diff --git a/lttv/lttv/traceset.c b/lttv/lttv/traceset.c index 8743d708..765e3cf5 100644 --- a/lttv/lttv/traceset.c +++ b/lttv/lttv/traceset.c @@ -486,7 +486,7 @@ guint lttv_traceset_get_cpuid_from_event(LttvEvent *event) if (timestamp == -1ULL) { return 0; } - const struct definition *scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT); + const struct bt_definition *scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT); if (bt_ctf_field_get_error()) { return 0; } @@ -698,8 +698,12 @@ int lttv_traceset_position_compare(const LttvTracesetPosition *pos1, const LttvT return -1; } - int res = bt_iter_equals_pos(pos1->bt_pos, pos2->bt_pos); - + int res = -1; +#ifdef HAVE_BT_ITER_EQUALS_POS + if(pos1->timestamp == G_MAXUINT64 || pos2->timestamp == G_MAXUINT64) { + res = bt_iter_equals_pos(pos1->bt_pos, pos2->bt_pos); + } +#endif if (res < 0) { guint64 timeStampPos1,timeStampPos2; @@ -708,16 +712,16 @@ int lttv_traceset_position_compare(const LttvTracesetPosition *pos1, const LttvT timeStampPos1 = lttv_traceset_position_get_timestamp(pos1); timeStampPos2 = lttv_traceset_position_get_timestamp(pos2); + if (timeStampPos1 == timeStampPos2) { + + cpuId1 = lttv_traceset_position_get_cpuid(pos1); + cpuId2 = lttv_traceset_position_get_cpuid(pos2); - cpuId1 = lttv_traceset_position_get_cpuid(pos1); - cpuId2 = lttv_traceset_position_get_cpuid(pos2); - - if(timeStampPos1 == timeStampPos2 && cpuId1 == cpuId2){ - return 0; - } - else{ - return 1; + if(cpuId1 == cpuId2){ + return 0; + } } + return 1; } else { return !res;