From cb5f230af9a97679a79e3c39a2e531aadeff9742 Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Tue, 14 Jun 2011 15:21:12 +0000
Subject: [PATCH] AVATAR code generator: tracing improved with tracing in
 console

---
 executablecode/src/tracemanager.c             | 27 ++++++++++++++-----
 .../toexecutable/AVATAR2CPOSIX.java           |  3 ++-
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/executablecode/src/tracemanager.c b/executablecode/src/tracemanager.c
index 7c25e17b91..5c7ecf1c4d 100644
--- a/executablecode/src/tracemanager.c
+++ b/executablecode/src/tracemanager.c
@@ -9,6 +9,7 @@
 
 #define TRACE_OFF 0
 #define TRACE_IN_FILE 1
+#define TRACE_IN_CONSOLE 2
 
 #define TRACE_FILE_NAME "Trace.txt"
 
@@ -59,13 +60,19 @@ void writeInTrace(char *info) {
   char s[CHAR_ALLOC_SIZE];
   addInfo(s, info);
 		 //printf("Write in file\n");
-  if (file != NULL) {
-    
-
-    debug2Msg("Saving in file", s);
-    fprintf(file, s);
-    fflush(file);
+  switch(trace){
+  case TRACE_IN_FILE:
+    if (file != NULL) {
+      debug2Msg("Saving in file", s);
+      fprintf(file, s);
+      fflush(file);
+    }
+    break;
+  case TRACE_IN_CONSOLE:
+    printf("%s\n", s);
+    break;
   }
+  
   pthread_mutex_unlock(&__traceMutex);
 }
 
@@ -85,6 +92,14 @@ void activeTracingInFile(char *fileName) {
   if (pthread_mutex_init(&__traceMutex, NULL) < 0) { exit(-1);}
 }
 
+void activeTracingInConsole() {
+  trace = TRACE_IN_CONSOLE;
+  my_clock_gettime(&begints); 
+  
+  /* Initializing mutex */
+  if (pthread_mutex_init(&__traceMutex, NULL) < 0) { exit(-1);}
+}
+
 void unactiveTracing() {
   trace = TRACE_OFF;
 }
diff --git a/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java b/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java
index e2fe9a8614..057283fe81 100755
--- a/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java
+++ b/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java
@@ -737,7 +737,8 @@ public class AVATAR2CPOSIX {
 		
 		if (tracing) {
 			mainFile.appendToMainCode("if (argc>1){" + CR);
-			mainFile.appendToMainCode("activeTracingInFile(argv[1]);" + CR + "}" + CR);  
+			mainFile.appendToMainCode("activeTracingInFile(argv[1]);" + CR + "} else {" + CR);  
+			mainFile.appendToMainCode("activeTracingInConsole();" + CR + "}" + CR);
 		}
 	}
 	
-- 
GitLab