Program Listing for File netio3_evloop.cpp

Return to documentation for file (network/netio3_evloop.cpp)

#include "network/netio3_evloop.hpp"


void Netio3EventLoop::start_thread(const std::string& thread_name)
{
    m_evloop_thread = std::thread([this, thread_name]{ run(thread_name); });
}


void Netio3EventLoop::start()
{
    m_evloop->run();
}


void Netio3EventLoop::stop()
{
    m_evloop->stop();
    if ( m_evloop_thread.get_id() != std::thread::id() ) {
        m_evloop_thread.join();
    }
}


void Netio3EventLoop::run(const std::string& thread_name)
{
    pthread_setname_np(pthread_self(), thread_name.c_str());
    m_evloop->run();
}