A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
[trace] add new test, check tracing of g5k platform files
[simgrid.git]
/
src
/
instr
/
instr_paje_trace.c
diff --git
a/src/instr/instr_paje_trace.c
b/src/instr/instr_paje_trace.c
index
d3928a4
..
b994510
100644
(file)
--- 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;
@@
-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);