X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Fstate.c;h=b2fb55a36cce03c1428dba5e3009f85120a0fcb0;hb=227c6dfcb4dba958cebf8d5e51fbf01b03ce7341;hp=a0186e04f9469d0059dc9e63dec2ff32f6322306;hpb=b0e006368c80bf63fc24032d774d9653ebf2eda0;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/state.c b/ltt/branches/poly/lttv/lttv/state.c index a0186e04..b2fb55a3 100644 --- a/ltt/branches/poly/lttv/lttv/state.c +++ b/ltt/branches/poly/lttv/lttv/state.c @@ -302,7 +302,7 @@ static void expand_syscall_table(LttvTraceState *ts, int id) guint new_nb = check_expand(ts->nb_syscalls, id); if(likely(new_nb == ts->nb_syscalls)) return; - expand_name_table(ts, &ts->syscall_names, ts->nb_syscalls, id); + expand_name_table(ts, &ts->syscall_names, ts->nb_syscalls, new_nb); fill_name_table(ts, ts->syscall_names, ts->nb_syscalls, new_nb, "syscall"); /* Update the table size */ ts->nb_syscalls = new_nb; @@ -1735,6 +1735,12 @@ static void state_saved_free(LttvTraceState *self, LttvAttribute *container) g_assert(type == LTTV_POINTER); lttv_state_free_irq_states(*(value.v_pointer), nb_irqs); + /* free softirq resource states */ + nb_softirqs = self->nb_irqs; + type = lttv_attribute_get_by_name(container, LTTV_STATE_RESOURCE_SOFT_IRQS, &value); + g_assert(type == LTTV_POINTER); + lttv_state_free_soft_irq_states(*(value.v_pointer), nb_softirqs); + /* free the blkdev states */ type = lttv_attribute_get_by_name(container, LTTV_STATE_RESOURCE_BLKDEVS, &value); g_assert(type == LTTV_POINTER);