int WorkManagerImpl::Abort() { if(m_state <= 0) return m_state; m_state = -1; if(m_dispatcherthread) m_dispatcherthread->interrupt(); //usleep(50 * 1000); int count = m_workers.size(); for(int i=0; i<count; i++) { Worker* worker = m_workers[i]; if(worker) worker->Abort(); } m_state = -1; return m_state; }