[Avida-cvs] [avida-svn] r484 - development/source/drivers

brysonda@myxo.css.msu.edu brysonda at myxo.css.msu.edu
Sun Feb 26 08:46:39 PST 2006


Author: brysonda
Date: 2006-02-26 11:46:39 -0500 (Sun, 26 Feb 2006)
New Revision: 484

Modified:
   development/source/drivers/cDriverManager.cc
   development/source/drivers/cDriverManager.h
Log:
Move usage of static member variable into implementation file to prevent unsafe cross translation unit inlining on win32.

Modified: development/source/drivers/cDriverManager.cc
===================================================================
--- development/source/drivers/cDriverManager.cc	2006-02-26 16:44:42 UTC (rev 483)
+++ development/source/drivers/cDriverManager.cc	2006-02-26 16:46:39 UTC (rev 484)
@@ -46,3 +46,24 @@
 {
   delete m_dm;
 }
+
+void cDriverManager::Register(cAvidaDriver* drv)
+{
+  if (m_dm) m_dm->m_adrvs.Push(drv);
+}
+
+void cDriverManager::Register(cWorldDriver* drv)
+{
+  if (m_dm) m_dm->m_wdrvs.Push(drv);
+}
+
+void cDriverManager::Unregister(cAvidaDriver* drv)
+{
+  if (m_dm) m_dm->m_adrvs.Remove(drv);
+}
+
+void cDriverManager::Unregister(cWorldDriver* drv)
+{
+  if (m_dm) m_dm->m_wdrvs.Remove(drv);
+}
+

Modified: development/source/drivers/cDriverManager.h
===================================================================
--- development/source/drivers/cDriverManager.h	2006-02-26 16:44:42 UTC (rev 483)
+++ development/source/drivers/cDriverManager.h	2006-02-26 16:46:39 UTC (rev 484)
@@ -35,11 +35,11 @@
   static void Initialize(); // initialize static driver manager.  This method is NOT thread-safe.
   static void Destroy();    // destory the driver manager, and all registered drivers.  Registered with atexit(). 
 
-  static void Register(cAvidaDriver* drv) { if (m_dm) m_dm->m_adrvs.Push(drv); }
-  static void Register(cWorldDriver* drv) { if (m_dm) m_dm->m_wdrvs.Push(drv); }
+  static void Register(cAvidaDriver* drv);
+  static void Register(cWorldDriver* drv);
 
-  static void Unregister(cAvidaDriver* drv) { if (m_dm) m_dm->m_adrvs.Remove(drv); }
-  static void Unregister(cWorldDriver* drv) { if (m_dm) m_dm->m_wdrvs.Remove(drv); }
+  static void Unregister(cAvidaDriver* drv);
+  static void Unregister(cWorldDriver* drv);
 };
 
 #endif




More information about the Avida-cvs mailing list