todo update
[lttv.git] / ltt / branches / poly / ltt / tracefile.c
index ad2cf51af5c93f680e3a273da8f580a414957033..7f76f014c9ce615e8a6af864a0f9e2e6f1dd69da 100644 (file)
@@ -954,7 +954,8 @@ static int ltt_process_facility_tracefile(LttTracefile *tf)
                 (tf->event.data + strlen(fac_name) + 1);
           fac = &g_array_index (tf->trace->facilities_by_num, LttFacility,
               ltt_get_uint32(LTT_GET_BO(tf), &fac_load_data->id));
-          g_assert(fac->exists == 0);
+          /* facility may already exist if trace is paused/unpaused */
+          if(fac->exists) continue;
           fac->name = g_quark_from_string(fac_name);
           fac->checksum = ltt_get_uint32(LTT_GET_BO(tf),
                           &fac_load_data->checksum);
@@ -1006,11 +1007,13 @@ static int ltt_process_facility_tracefile(LttTracefile *tf)
                 (tf->event.data + strlen(fac_name) + 1);
           fac = &g_array_index (tf->trace->facilities_by_num, LttFacility,
               ltt_get_uint32(LTT_GET_BO(tf), &fac_state_dump_load_data->id));
-          g_assert(fac->exists == 0);
+          /* facility may already exist if trace is paused/unpaused */
+          if(fac->exists) continue;
           fac->name = g_quark_from_string(fac_name);
           fac->checksum = ltt_get_uint32(LTT_GET_BO(tf),
                           &fac_state_dump_load_data->checksum);
-          fac->id = fac_state_dump_load_data->id;
+          fac->id = ltt_get_uint32(LTT_GET_BO(tf),
+                          &fac_state_dump_load_data->id);
           fac->pointer_size = ltt_get_uint32(LTT_GET_BO(tf),
                           &fac_state_dump_load_data->pointer_size);
           fac->long_size = ltt_get_uint32(LTT_GET_BO(tf),
This page took 0.025824 seconds and 4 git commands to generate.