From: schnorr Date: Mon, 6 Dec 2010 00:55:48 +0000 (+0000) Subject: [trace] encapsulating the open/close of the trace file X-Git-Tag: v3.6_beta2~937 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/f662ce711906542b692b60585abd0946866e649b [trace] encapsulating the open/close of the trace file git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8985 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/instr/instr_interface.c b/src/instr/instr_interface.c index 1c5f19ed5b..5f137acc1b 100644 --- a/src/instr/instr_interface.c +++ b/src/instr/instr_interface.c @@ -25,19 +25,7 @@ int TRACE_start() } /* open the trace file */ - char *filename = TRACE_get_filename(); - if (!filename) { - THROW0(tracing_error, TRACE_ERROR_START, - "Trace filename is not initialized."); - return 0; - } - FILE *file = fopen(filename, "w"); - if (!file) { - THROW1(tracing_error, TRACE_ERROR_START, - "Tracefile %s could not be opened for writing.", filename); - } else { - TRACE_paje_start(file); - } + TRACE_paje_start(); /* activate trace */ TRACE_activate (); @@ -113,9 +101,11 @@ int TRACE_end() { if (!TRACE_is_active()) return 1; - FILE *file = TRACE_paje_end(); - fclose(file); + /* close the trace file */ + TRACE_paje_end(); + + /* activate trace */ TRACE_desactivate (); return 0; } diff --git a/src/instr/instr_paje.c b/src/instr/instr_paje.c index 098440e148..ad83fd1cfe 100644 --- a/src/instr/instr_paje.c +++ b/src/instr/instr_paje.c @@ -41,17 +41,21 @@ static int pajeNewEventId = 27; #define TRACE_LINE_SIZE 1000 -void TRACE_paje_start(FILE * file) +void TRACE_paje_start(void) { - tracing_file = file; + char *filename = TRACE_get_filename(); + tracing_file = fopen(filename, "w"); + if (!tracing_file) { + THROW1(tracing_error, TRACE_ERROR_FILE_OPEN, + "Tracefile %s could not be opened for writing.", filename); + } } -FILE *TRACE_paje_end(void) +void TRACE_paje_end(void) { - return tracing_file; + fclose(tracing_file); } - void TRACE_paje_create_header(void) { if (!TRACE_is_active()) diff --git a/src/instr/instr_private.h b/src/instr/instr_private.h index 494de700df..f54a788fab 100644 --- a/src/instr/instr_private.h +++ b/src/instr/instr_private.h @@ -20,8 +20,8 @@ /* from paje.c */ void TRACE_paje_create_header(void); -void TRACE_paje_start(FILE * file); -FILE *TRACE_paje_end(void); +void TRACE_paje_start(void); +void TRACE_paje_end(void); void pajeDefineContainerType(const char *alias, const char *containerType, const char *name); void pajeDefineStateType(const char *alias, const char *containerType,