- Timestamp:
- Jun 6, 2015, 11:52:25 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.cc
r10532 r10535 47 47 void CoreStaticInitializationHandler::loadModule(ModuleInstance* module) 48 48 { 49 module->loadAllStaticallyInitializedInstances(0); 49 this->loadInstances(module); 50 if (this->bInitInstances_) 51 this->initInstances(module); 52 } 53 54 void CoreStaticInitializationHandler::loadInstances(ModuleInstance* module) 55 { 56 // the order of initialization is important 57 module->loadAllStaticallyInitializedInstances(StaticInitialization::STATIC_INITIALIZATION_HANDLER); 58 module->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER); 59 module->loadAllStaticallyInitializedInstances(StaticInitialization::SCOPED_SINGLETON_WRAPPER); 60 module->loadAllStaticallyInitializedInstances(StaticInitialization::COMMAND_LINE_ARGUMENT); 61 module->loadAllStaticallyInitializedInstances(StaticInitialization::CONSOLE_COMMAND); 62 } 63 64 void CoreStaticInitializationHandler::initInstances(ModuleInstance* module) 65 { 50 66 IdentifierManager::getInstance().createClassHierarchy(); 51 67 ScopeManager::getInstance().updateListeners(); … … 54 70 void CoreStaticInitializationHandler::unloadModule(ModuleInstance* module) 55 71 { 56 module->unloadAllStaticallyInitializedInstances(0); 72 // inverted order of initialization 73 module->unloadAllStaticallyInitializedInstances(StaticInitialization::CONSOLE_COMMAND); 74 module->unloadAllStaticallyInitializedInstances(StaticInitialization::COMMAND_LINE_ARGUMENT); 75 module->unloadAllStaticallyInitializedInstances(StaticInitialization::SCOPED_SINGLETON_WRAPPER); 76 module->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER); 77 module->unloadAllStaticallyInitializedInstances(StaticInitialization::STATIC_INITIALIZATION_HANDLER); 57 78 } 58 79 }
Note: See TracChangeset
for help on using the changeset viewer.