From: Simon Marchi Date: Fri, 15 Mar 2024 03:37:59 +0000 (-0400) Subject: plugins/common/muxing: compare "origin is Unix epoch" property of clock classes X-Git-Url: https://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=0ea4aa9f8de0535273540aeaeacec74421cfb6b8 plugins/common/muxing: compare "origin is Unix epoch" property of clock classes If two clock classes only differ by their "origin is Unix epoch" property, they will compare equal as far as `compare_clock_classes` is concerned. Add a comparison for that. Change-Id: Iecac8fd4aa3064b221291264f4fc6758e32a0943 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/12067 Reviewed-by: Philippe Proulx Tested-by: jenkins --- diff --git a/src/plugins/common/muxing/muxing.c b/src/plugins/common/muxing/muxing.c index 35bfad13..5e52c4f4 100644 --- a/src/plugins/common/muxing/muxing.c +++ b/src/plugins/common/muxing/muxing.c @@ -170,6 +170,7 @@ int compare_clock_classes(const bt_clock_class *left_cc, const char *left_clock_class_name, *right_clock_class_name; bt_uuid left_clock_class_uuid, right_clock_class_uuid; uint64_t left_freq, right_freq, left_prec, right_prec; + bool left_origin_is_unix, right_origin_is_unix; left_clock_class_uuid = bt_clock_class_get_uuid(left_cc); right_clock_class_uuid = bt_clock_class_get_uuid(right_cc); @@ -188,6 +189,13 @@ int compare_clock_classes(const bt_clock_class *left_cc, } } + left_origin_is_unix = bt_clock_class_origin_is_unix_epoch(left_cc); + right_origin_is_unix = bt_clock_class_origin_is_unix_epoch(right_cc); + + if (left_origin_is_unix != right_origin_is_unix) { + ret = left_origin_is_unix - right_origin_is_unix; + goto end; + } left_clock_class_name = bt_clock_class_get_name(left_cc); right_clock_class_name = bt_clock_class_get_name(right_cc);