diff --git a/modules/print/src/print.cpp b/modules/print/src/print.cpp index 2d60446..4adfd28 100644 --- a/modules/print/src/print.cpp +++ b/modules/print/src/print.cpp @@ -11,6 +11,4 @@ Print::~Print() { void Print::run() { std::cout << "Print lib loaded and run!\n"; app.stopModule(self); - //app.end(); - std::cout << "app.stopModule() called\n"; } diff --git a/src/App.cpp b/src/App.cpp index ab48da4..378a7f4 100644 --- a/src/App.cpp +++ b/src/App.cpp @@ -22,13 +22,9 @@ App::~App() { std::cout << "\nExiting...\n"; for(auto it = modules.begin(); it != modules.end(); it++) { void* handle = (*it)->getHandle(); - std::cout << "retrieved handle\n"; delete *it; - std::cout << "deleted module\n"; dlclose(handle); - std::cout << "closed lib\n"; it = modules.erase(it); - std::cout << "erased list node\n"; } } @@ -80,22 +76,17 @@ void App::load(std::string lib) { modules.end()++; } -void App::unload(decltype(Module::self) it) { +void App::unload(std::list::iterator it) { void* h = (*it)->getHandle(); - std::cout << "retrieved handle\n"; - modules.erase((*it)->self); - std::cout << "erased module.self"; - - std::cout << "Attempting to delete module: " << (*it)->getName() << std::endl; delete *it; - std::cout << "deleted module\n"; dlclose(h); - std::cout << "successfully dlclosed\n"; + + modules.erase((*it)->self); } -void App::stopModule(decltype(Module::self) it) { +void App::stopModule(std::list::iterator it) { toClose.push_back(*it); }