X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f783ed4680c6862a1b7543237e89d1221334bae0..c5ad8ca1a68bbaa9152471c8d0eeb99d762f0d86:/src/instr/instr_paje_trace.c?ds=sidebyside diff --git a/src/instr/instr_paje_trace.c b/src/instr/instr_paje_trace.c index fdc75c428f..b994510a87 100644 --- a/src/instr/instr_paje_trace.c +++ b/src/instr/instr_paje_trace.c @@ -155,7 +155,9 @@ void TRACE_paje_start(void) { char *filename = TRACE_get_filename(); tracing_file = fopen(filename, "w"); - xbt_assert (tracing_file != NULL, "Tracefile %s could not be opened for writing.", filename); + if (tracing_file == NULL){ + THROWF (system_error, 1, "Tracefile %s could not be opened for writing.", filename); + } XBT_DEBUG("Filename %s is open for writing", filename); @@ -169,6 +171,7 @@ void TRACE_paje_end(void) { fclose(tracing_file); char *filename = TRACE_get_filename(); + xbt_dynar_free (&buffer); XBT_DEBUG("Filename %s is closed", filename); } @@ -189,7 +192,7 @@ void TRACE_paje_dump_buffer (int force) buffer = xbt_dynar_new (sizeof(paje_event_t), NULL); }else{ paje_event_t event; - while (xbt_dynar_length (buffer) > 0){ + while (!xbt_dynar_is_empty(buffer)){ double head_timestamp = (*(paje_event_t*)xbt_dynar_get_ptr(buffer, 0))->timestamp; if (head_timestamp > TRACE_last_timestamp_to_dump){ break; @@ -257,19 +260,19 @@ void TRACE_paje_create_header(void) %% Time date \n\ %% Type string \n\ %% Container string \n\ -%% Value string \n\ +%% Value double \n\ %%EndEventDef\n\ %%EventDef PajeAddVariable %d \n\ %% Time date \n\ %% Type string \n\ %% Container string \n\ -%% Value string \n\ +%% Value double \n\ %%EndEventDef\n\ %%EventDef PajeSubVariable %d \n\ %% Time date \n\ %% Type string \n\ %% Container string \n\ -%% Value string \n\ +%% Value double \n\ %%EndEventDef\n\ %%EventDef PajeSetState %d \n\ %% Time date \n\ @@ -636,12 +639,17 @@ static void print_pajeNewEvent (paje_event_t event) static void free_paje_event (paje_event_t event) { XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, event->event_type, event->timestamp); - if (event->event_type == PAJE_StartLink){ + switch (event->event_type){ + case PAJE_StartLink: xbt_free (((startLink_t)(event->data))->value); xbt_free (((startLink_t)(event->data))->key); - }else if (event->event_type == PAJE_EndLink){ + break; + case PAJE_EndLink: xbt_free (((endLink_t)(event->data))->value); xbt_free (((endLink_t)(event->data))->key); + break; + default: + break; } xbt_free (event->data); xbt_free (event);