Bug #589 » 0001-Fix-Previous-packet-timestamp-should-not-be-overwrit.patch
formats/ctf/ctf.c | ||
---|---|---|
uint64_t oldval, newval, updateval;
|
||
if (unlikely(integer_declaration->len == 64)) {
|
||
stream->prev_cycles_timestamp = stream->cycles_timestamp;
|
||
stream->cycles_timestamp = integer_definition->value._unsigned;
|
||
stream->prev_real_timestamp = ctf_get_real_timestamp(stream,
|
||
stream->prev_cycles_timestamp);
|
||
... | ... | |
updateval = stream->cycles_timestamp;
|
||
updateval &= ~((1ULL << integer_declaration->len) - 1);
|
||
updateval += newval;
|
||
stream->prev_cycles_timestamp = stream->cycles_timestamp;
|
||
stream->cycles_timestamp = updateval;
|
||
/* convert to real timestamp */
|
||
... | ... | |
}
|
||
}
|
||
file_stream->parent.events_discarded = events_discarded_diff;
|
||
file_stream->parent.prev_real_timestamp = file_stream->parent.real_timestamp;
|
||
file_stream->parent.prev_cycles_timestamp = file_stream->parent.cycles_timestamp;
|
||
/* The reader will expect us to skip padding */
|
||
++pos->cur_index;
|
||
break;
|