libs/core/runtime_local/src/runtime_local.cpp
void runtime::stop_helper(
        bool blocking, std::condition_variable& cond, std::mutex& mtx)
    {
        // wait for thread manager to exit
        thread_manager_->stop(blocking);    // wait for thread manager

        deinit_global_data();

        // this disables all logging from the main thread
        deinit_tss_helper("main-thread", 0);

        LRT_(info).format("runtime_local: stopped all services");

        std::lock_guard<std::mutex> l(mtx);
        cond.notify_all();    // we're done now
    }
// Second step in termination: shut down all services.
// This gets executed as a task in the timer_pool io_service and not as
// a HPX thread!
Second step in termination: shut down all services.
This gets executed as a task in the timer_pool io_service and not as
a HPX thread!
Second step in termination : shut down all services . This gets executed as a task in the timer_pool io_service and not as a HPX thread!
void runtime::stop_helper(
        bool blocking, std::condition_variable& cond, std::mutex& mtx)
    {
        thread_manager_->stop(blocking);    
        deinit_global_data();
        deinit_tss_helper("main-thread", 0);
        LRT_(info).format("runtime_local: stopped all services");
        std::lock_guard<std::mutex> l(mtx);
        cond.notify_all();    
    }
void runtime :: stop_helper ( bool blocking , std :: condition_variable & cond , std :: mutex & mtx ) { thread_manager_ -> stop ( blocking ) ; deinit_global_data ( ) ; deinit_tss_helper ( " " , 0 ) ; LRT_ ( info ) . format ( " " ) ; std :: lock_guard < std :: mutex > l ( mtx ) ; cond . notify_all ( ) ; }
Second step in termination: shut down all services.
Second step in termination : shut down all services .
// wait for thread manager to exit // wait for thread manager // this disables all logging from the main thread // we're done now