Example #1
0
void EventLoop::runForever()
{
    m_stop = false;

    while (!m_stop)
        runOnce();

    WARN << "Begin EventLoop Stop" ;

    map<int, Handler*>::iterator iter = m_map.begin();

    for(; iter!=m_map.end(); iter++)
    {
        Handler *handler = (*iter).second;

        DEBUG << "Stop fd: " << handler->getSocket().fd();

        m_selector->unRegisterEvent(handler, -1);

        handler->onCloseEvent(CLSSIG);
    }

    WARN << "End EventLoop Stop" ;

    m_map.clear();
}