void CMgSingleTask::FinishTask( _SINGLE_TASK_STATUS status ) { m_nStatus = status; LogError(); //记录一些日志,有利于查找问题 pthread_mutex_lock( &m_QuitMutex ); wxCommandEvent event( mgEVT_TASK_FINISH, m_nTaskID ); MainFrame *mainwin = ( MainFrame* ) ( wxGetApp().GetTopWindow() ); mainwin->AddPendingEvent( event ); //wxPostEvent( mainwin, event ); pthread_mutex_unlock( &m_QuitMutex ); }