avoid segfault when setting NS_LOG=*
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue May 06 12:20:10 2008 -0700 (21 months ago)
changeset 3005cc521f35f033
parent 3004 7a63e3c78cd0
child 3006 054b9ca57390
avoid segfault when setting NS_LOG=*
src/core/log.cc
src/core/log.h
src/simulator/simulator.cc
     1.1 --- a/src/core/log.cc	Sun May 04 22:46:31 2008 +0100
     1.2 +++ b/src/core/log.cc	Tue May 06 12:20:10 2008 -0700
     1.3 @@ -351,7 +351,7 @@
     1.4      }
     1.5  }
     1.6  
     1.7 -void LogRegisterTimePrinter (LogTimePrinter printer)
     1.8 +void LogSetTimePrinter (LogTimePrinter printer)
     1.9  {
    1.10    g_logTimePrinter = printer;
    1.11  }
     2.1 --- a/src/core/log.h	Sun May 04 22:46:31 2008 +0100
     2.2 +++ b/src/core/log.h	Tue May 06 12:20:10 2008 -0700
     2.3 @@ -308,7 +308,7 @@
     2.4  
     2.5  typedef void (*LogTimePrinter) (std::ostream &os);
     2.6  
     2.7 -void LogRegisterTimePrinter (LogTimePrinter);
     2.8 +void LogSetTimePrinter (LogTimePrinter);
     2.9  LogTimePrinter LogGetTimePrinter(void);
    2.10  
    2.11  
     3.1 --- a/src/simulator/simulator.cc	Sun May 04 22:46:31 2008 +0100
     3.2 +++ b/src/simulator/simulator.cc	Tue May 06 12:20:10 2008 -0700
     3.3 @@ -428,10 +428,10 @@
     3.4  {
     3.5    if (m_priv == 0) 
     3.6      {
     3.7 -      LogRegisterTimePrinter (&TimePrinter);
     3.8        m_priv = CreateObject<SimulatorPrivate> ();
     3.9        Ptr<Scheduler> scheduler = CreateObject<MapScheduler> ();
    3.10        m_priv->SetScheduler (scheduler);
    3.11 +      LogSetTimePrinter (&TimePrinter);
    3.12      }
    3.13    TRACE_S ("priv " << m_priv);
    3.14    return m_priv;
    3.15 @@ -444,6 +444,7 @@
    3.16      {
    3.17        return;
    3.18      }
    3.19 +  LogSetTimePrinter (0);
    3.20    m_priv->Destroy ();
    3.21    m_priv = 0;
    3.22  }