X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Ftracefile.c;h=cfe76e10c44a6444d0a82304c1811f860ecacd2a;hb=cc544c4d0506c9149185cedccc7a857034b5ac29;hp=d026cf91e4740cd786c11ca4e5fb011e8dd00fc4;hpb=f64fedd7b7245ff20c63b20bac861e5165c15cc0;p=lttv.git diff --git a/ltt/branches/poly/ltt/tracefile.c b/ltt/branches/poly/ltt/tracefile.c index d026cf91..cfe76e10 100644 --- a/ltt/branches/poly/ltt/tracefile.c +++ b/ltt/branches/poly/ltt/tracefile.c @@ -76,6 +76,8 @@ GQuark LTT_TRACEFILE_NAME_FACILITIES; #define PAGE_MASK (~(page_size-1)) #define PAGE_ALIGN(addr) (((addr)+page_size-1)&PAGE_MASK) +LttTrace *father_trace = NULL; + /* set the offset of the fields belonging to the event, need the information of the archecture */ //void set_fields_offsets(LttTracefile *tf, LttEventType *event_type); @@ -283,6 +285,13 @@ int parse_trace_header(void *header, LttTracefile *tf, LttTrace *t) &vheader->start_freq); t->freq_scale = ltt_get_uint32(LTT_GET_BO(tf), &vheader->freq_scale); + if(father_trace) { + t->start_freq = father_trace->start_freq; + t->freq_scale = father_trace->freq_scale; + } + else { + father_trace = t; + } t->start_tsc = ltt_get_uint64(LTT_GET_BO(tf), &vheader->start_tsc); t->start_monotonic = ltt_get_uint64(LTT_GET_BO(tf), @@ -1868,7 +1877,7 @@ int ltt_tracefile_read_update_event(LttTracefile *tf) event->event_time = ltt_interpolate_time(tf, event); if(!tf->compact) { - event->event_id = *(guint16*)pos; + event->event_id = ltt_get_uint16(LTT_GET_BO(tf), pos); pos += sizeof(guint16); event->event_size = ltt_get_uint16(LTT_GET_BO(tf), pos);