avoid segfault when setting NS_LOG=*
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 06 May 2008 12:20:10 -0700
changeset 3005 cc521f35f033
parent 3004 7a63e3c78cd0
child 3006 054b9ca57390
avoid segfault when setting NS_LOG=*
src/core/log.cc
src/core/log.h
src/simulator/simulator.cc
--- a/src/core/log.cc	Sun May 04 22:46:31 2008 +0100
+++ b/src/core/log.cc	Tue May 06 12:20:10 2008 -0700
@@ -351,7 +351,7 @@
     }
 }
 
-void LogRegisterTimePrinter (LogTimePrinter printer)
+void LogSetTimePrinter (LogTimePrinter printer)
 {
   g_logTimePrinter = printer;
 }
--- a/src/core/log.h	Sun May 04 22:46:31 2008 +0100
+++ b/src/core/log.h	Tue May 06 12:20:10 2008 -0700
@@ -308,7 +308,7 @@
 
 typedef void (*LogTimePrinter) (std::ostream &os);
 
-void LogRegisterTimePrinter (LogTimePrinter);
+void LogSetTimePrinter (LogTimePrinter);
 LogTimePrinter LogGetTimePrinter(void);
 
 
--- a/src/simulator/simulator.cc	Sun May 04 22:46:31 2008 +0100
+++ b/src/simulator/simulator.cc	Tue May 06 12:20:10 2008 -0700
@@ -428,10 +428,10 @@
 {
   if (m_priv == 0) 
     {
-      LogRegisterTimePrinter (&TimePrinter);
       m_priv = CreateObject<SimulatorPrivate> ();
       Ptr<Scheduler> scheduler = CreateObject<MapScheduler> ();
       m_priv->SetScheduler (scheduler);
+      LogSetTimePrinter (&TimePrinter);
     }
   TRACE_S ("priv " << m_priv);
   return m_priv;
@@ -444,6 +444,7 @@
     {
       return;
     }
+  LogSetTimePrinter (0);
   m_priv->Destroy ();
   m_priv = 0;
 }