void* sessionThread_C(void* _sc){ SocketServer::Session * si = (SocketServer::Session *)_sc; assert(si->m_thread_stopped == false); if(!si->m_stop) si->runSession(); else NDB_CLOSE_SOCKET(si->m_socket); // Mark the thread as stopped to allow the // session resources to be released si->m_thread_stopped = true; return 0; }
void* sessionThread_C(void* _sc){ SocketServer::Session * si = (SocketServer::Session *)_sc; /** * may have m_stopped set if we're transforming a mgm * connection into a transporter connection. */ if(!si->m_stopped) { if(!si->m_stop){ si->m_stopped = false; si->runSession(); } else { NDB_CLOSE_SOCKET(si->m_socket); } } si->m_stopped = true; return 0; }