X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=libust%2Ftrace_event.c;h=728140fcba420cf33c9d5de43e30e2ae4a9d4b1e;hb=30ffe2794fc413035208cdd2a7a061bc208e210f;hp=2464d444807deb21ff8dd90853cd5484f6106022;hpb=b467f7a77d78880b71ec10d8fa8904da7d28043e;p=ust.git diff --git a/libust/trace_event.c b/libust/trace_event.c index 2464d44..728140f 100644 --- a/libust/trace_event.c +++ b/libust/trace_event.c @@ -21,7 +21,7 @@ #include #include #include -#include "usterr.h" +#include "usterr_signal_safe.h" #define _LGPL_SOURCE #include @@ -76,12 +76,14 @@ int trace_event_get_iter_range(struct trace_event * const **trace_event, struct trace_event * const *begin, struct trace_event * const *end) { - if (!*trace_event && begin != end) { + if (!*trace_event && begin != end) *trace_event = begin; - return 1; + while (*trace_event >= begin && *trace_event < end) { + if (!**trace_event) + (*trace_event)++; /* skip dummy */ + else + return 1; } - if (*trace_event >= begin && *trace_event < end) - return 1; return 0; } @@ -145,7 +147,8 @@ int trace_event_register_lib(struct trace_event * const *trace_events_start, lib_added: pthread_mutex_unlock(&trace_events_mutex); - DBG("just registered a trace_events section from %p and having %d trace_events", trace_events_start, trace_events_count); + /* trace_events_count - 1: skip dummy */ + DBG("just registered a trace_events section from %p and having %d trace_events (minus dummy trace_event)", trace_events_start, trace_events_count); return 0; }