diff --git a/storage-manager/src/main.cpp b/storage-manager/src/main.cpp index 3d0108fe4..9dd8d0470 100644 --- a/storage-manager/src/main.cpp +++ b/storage-manager/src/main.cpp @@ -77,11 +77,25 @@ void coreSM(int sig) int main(int argc, char** argv) { + SMLogging* logger = SMLogging::get(); + IOCoordinator* ioc = NULL; + Cache* cache = NULL; + Synchronizer* sync = NULL; + Replicator* rep = NULL; + /* Instantiate objects to have them verify config settings before continuing */ - IOCoordinator* ioc = IOCoordinator::get(); - Cache* cache = Cache::get(); - Synchronizer* sync = Synchronizer::get(); - Replicator* rep = Replicator::get(); + try + { + ioc = IOCoordinator::get(); + cache = Cache::get(); + sync = Synchronizer::get(); + rep = Replicator::get(); + } + catch (exception &e) + { + logger->log(LOG_INFO, "StorageManager init FAIL: %s", e.what()); + return -1; + } struct sigaction sa; memset(&sa, 0, sizeof(sa)); @@ -112,8 +126,6 @@ int main(int argc, char** argv) int ret = 0; - SMLogging* logger = SMLogging::get(); - logger->log(LOG_NOTICE,"StorageManager started."); SessionManager* sm = SessionManager::get();