Commit e348d6556eed6e8888a270cbca100d8dbc0ef2ad
- Diff rendering mode:
- inline
- side by side
core/dss.cpp
(19 / 7)
|   | |||
| 94 | 94 | ||
| 95 | 95 | DSS::DSS() | |
| 96 | 96 | { | |
| 97 | m_ShutdownFlag = false; | ||
| 97 | 98 | m_State = ssInvalid; | |
| 98 | 99 | m_pPropertySystem = boost::shared_ptr<PropertySystem>(new PropertySystem); | |
| 99 | 100 | setupDirectories(); | |
| … | … | ||
| 405 | 405 | ||
| 406 | 406 | m_State = ssRunning; | |
| 407 | 407 | ||
| 408 | // pass control to the eventrunner | ||
| 409 | m_pEventRunner->run(); | ||
| 408 | if (!m_ShutdownFlag) { | ||
| 409 | // pass control to the eventrunner | ||
| 410 | m_pEventRunner->run(); | ||
| 411 | } | ||
| 410 | 412 | ||
| 413 | m_State = ssTerminating; | ||
| 414 | |||
| 415 | std::for_each(m_Subsystems.begin(), m_Subsystems.end(), StopSubsystem); | ||
| 416 | m_pEventQueue->shutdown(); | ||
| 417 | m_pEventInterpreter->terminate(); | ||
| 418 | |||
| 411 | 419 | // shutdown all subsystems and services | |
| 412 | 420 | #ifdef WITH_BONJOUR | |
| 413 | 421 | bonjour.quit(); | |
| 414 | 422 | bonjour.terminate(); | |
| 415 | 423 | #endif | |
| 416 | 424 | ||
| 417 | m_State = ssTerminating; | ||
| 418 | 425 | ||
| 419 | std::for_each(m_Subsystems.begin(), m_Subsystems.end(), StopSubsystem); | ||
| 420 | m_pEventQueue->shutdown(); | ||
| 421 | m_pEventInterpreter->terminate(); | ||
| 422 | 426 | } // run | |
| 423 | 427 | ||
| 424 | 428 | void DSS::initiateShutdown() { | |
| 425 | m_pEventRunner->shutdown(); | ||
| 429 | m_ShutdownFlag = true; | ||
| 430 | if (m_State != ssRunning) { | ||
| 431 | return; | ||
| 432 | } | ||
| 433 | |||
| 434 | if (m_pEventRunner != NULL) { | ||
| 435 | m_pEventRunner->shutdown(); | ||
| 436 | } | ||
| 426 | 437 | } | |
| 427 | 438 | ||
| 428 | 439 | void DSS::shutdown() { |
core/dss.h
(1 / 0)
|   | |||
| 89 | 89 | std::string m_jsLogDirectory; | |
| 90 | 90 | ||
| 91 | 91 | aDSSState m_State; | |
| 92 | bool m_ShutdownFlag; | ||
| 92 | 93 | ||
| 93 | 94 | /// Private constructor for singleton | |
| 94 | 95 | DSS(); |

