From 198c1dbf0cc0dd8be53218e28ad4479a13c8629a Mon Sep 17 00:00:00 2001
From: Ramin Yaghoubzadeh <ryaghoub@techfak.uni-bielefeld.de>
Date: Tue, 29 Jan 2013 01:40:47 +0100
Subject: [PATCH] added LOG_IPAACA_CONSOLE() macro-> thread-safe console
 logging

---
 ipaacalib/cpp/include/ipaaca/ipaaca.h   | 7 +++++++
 ipaacalib/cpp/src/ipaaca.cc             | 5 +++++
 ipaacalib/python/src/ipaaca/__init__.py | 1 +
 3 files changed, 13 insertions(+)

diff --git a/ipaacalib/cpp/include/ipaaca/ipaaca.h b/ipaacalib/cpp/include/ipaaca/ipaaca.h
index 340b5c2..2f468d4 100644
--- a/ipaacalib/cpp/include/ipaaca/ipaaca.h
+++ b/ipaacalib/cpp/include/ipaaca/ipaaca.h
@@ -47,6 +47,10 @@
 
 #include <iostream>
 
+// for logger
+#include <iomanip>
+#include <sys/time.h>
+
 #include <boost/bind.hpp>
 #include <boost/function.hpp>
 #include <boost/shared_ptr.hpp>
@@ -843,6 +847,9 @@ class IUEventFunctionHandler: public rsb::EventFunctionHandler {
 */
 //}}}
 
+Lock& logger_lock();
+#define LOG_IPAACA_CONSOLE(msg) { ipaaca::Locker logging_locker(ipaaca::logger_lock()); timeval logging_tim; gettimeofday(&logging_tim, NULL); double logging_t1=logging_tim.tv_sec+(logging_tim.tv_usec/1000000.0); std::cout << "[LOG] " << std::setprecision(15) << logging_t1 << " : " << msg << std::endl; }
+
 } // of namespace ipaaca
 
 #endif
diff --git a/ipaacalib/cpp/src/ipaaca.cc b/ipaacalib/cpp/src/ipaaca.cc
index 4d98629..d22ce25 100644
--- a/ipaacalib/cpp/src/ipaaca.cc
+++ b/ipaacalib/cpp/src/ipaaca.cc
@@ -10,6 +10,11 @@ using namespace rsb::patterns;
 
 #define VERBOSE_HANDLERS 0
 
+Lock& logger_lock() {
+    static Lock lock;
+    return lock;
+}
+
 // util and init//{{{
 
 bool Initializer::_initialized = false;
diff --git a/ipaacalib/python/src/ipaaca/__init__.py b/ipaacalib/python/src/ipaaca/__init__.py
index ff81ea8..ae65c82 100755
--- a/ipaacalib/python/src/ipaaca/__init__.py
+++ b/ipaacalib/python/src/ipaaca/__init__.py
@@ -1250,6 +1250,7 @@ class OutputBuffer(Buffer):
 		#self._category_interests.append(iu_category)
 		#logger.info("Added category listener for "+iu_category)
 		#return cat_listener
+		pass
 	
 	# hbuschme: IUs now have their Ids assigned on creation
 	#def _generate_iu_uid(self):
-- 
GitLab