void MythSystemIOHandler::BuildFDs() { // build descriptor list FD_ZERO(&m_fds); m_maxfd = -1; PMap_t::iterator i; for( i = m_pMap.begin(); i != m_pMap.end(); ++i ) { FD_SET(i.key(), &m_fds); m_maxfd = (i.key() > m_maxfd ? i.key() : m_maxfd); } }
void MythSystemIOHandler::remove(HANDLE h) { m_pLock.lock(); if (m_read) { PMap_t::iterator i; i = m_pMap.find(h); HandleRead(i.key(), i.value()); } m_pMap.remove(h); m_pLock.unlock(); }
void MythSystemIOHandler::remove(int fd) { m_pLock.lock(); if (m_read) { PMap_t::iterator i; i = m_pMap.find(fd); if ( i != m_pMap.end() ) HandleRead(i.key(), i.value()); } m_pMap.remove(fd); BuildFDs(); m_pLock.unlock(); }