X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6ee7e9c2e455536ab817ae0136acfbb53822eecd..b60aef4e2fea329ccaf96986006bdded72a61113:/src/instr/instr_paje_trace.c diff --git a/src/instr/instr_paje_trace.c b/src/instr/instr_paje_trace.c index 142b6183e3..d284dc63e3 100644 --- a/src/instr/instr_paje_trace.c +++ b/src/instr/instr_paje_trace.c @@ -155,7 +155,7 @@ void TRACE_paje_start(void) { char *filename = TRACE_get_filename(); tracing_file = fopen(filename, "w"); - xbt_assert1 (tracing_file != NULL, "Tracefile %s could not be opened for writing.", filename); + xbt_assert (tracing_file != NULL, "Tracefile %s could not be opened for writing.", filename); XBT_DEBUG("Filename %s is open for writing", filename); @@ -331,6 +331,11 @@ void TRACE_paje_create_header(void) /* internal do the instrumentation module */ static void insert_into_buffer (paje_event_t tbi) { + if (TRACE_buffer() == 0){ + tbi->print (tbi); + tbi->free (tbi); + return; + } XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%ld)", __FUNCTION__, tbi->event_type, tbi->timestamp, xbt_dynar_length(buffer)); unsigned int i; @@ -348,11 +353,11 @@ static void insert_into_buffer (paje_event_t tbi) return; } int inserted = 0; - for (i = 0; i < len; i++){ + for (i = len-1; i > 0; i--){ paje_event_t e1 = *(paje_event_t*)xbt_dynar_get_ptr(buffer, i); - if (e1->timestamp > tbi->timestamp){ - xbt_dynar_insert_at (buffer, i, &tbi); - XBT_DEBUG("%s: inserted at %d", __FUNCTION__, i); + if (e1->timestamp <= tbi->timestamp){ + xbt_dynar_insert_at (buffer, i+1, &tbi); + XBT_DEBUG("%s: inserted at %d", __FUNCTION__, i+1); inserted = 1; break; }