#include <wxReadingPriorityPanel.h>
Public Member Functions | |
MyThread (PriorityLoop *priorityLoop, AdminThreadEED *adminThreadEED) | |
virtual void * | Entry () |
virtual void | OnExit () |
Private Attributes | |
PriorityLoop * | _priorityLoop |
AdminThreadEED * | _adminThreadEED |
Definition at line 200 of file wxReadingPriorityPanel.h.
MyThread::MyThread | ( | PriorityLoop * | priorityLoop, | |
AdminThreadEED * | adminThreadEED | |||
) |
Definition at line 624 of file wxReadingPriorityPanel.cpp.
References _adminThreadEED, and _priorityLoop.
00624 { 00625 _priorityLoop = priorityLoop; 00626 _adminThreadEED = adminThreadEED; 00627 00628 }
void * MyThread::Entry | ( | ) | [virtual] |
Definition at line 647 of file wxReadingPriorityPanel.cpp.
References _priorityLoop, PriorityLoop::InitLoop(), PriorityLoop::IsLoop(), and PriorityLoop::Iteration().
00647 { 00648 _priorityLoop->InitLoop(); 00649 while ( _priorityLoop->IsLoop()==true ){ 00650 if ( TestDestroy() ){ 00651 break; 00652 } 00653 _priorityLoop->Iteration(); 00654 } 00655 return NULL; 00656 }
void MyThread::OnExit | ( | ) | [virtual] |
Definition at line 631 of file wxReadingPriorityPanel.cpp.
References _adminThreadEED, _priorityLoop, AdminThreadEED::m_condAllDone, AdminThreadEED::m_critsect, AdminThreadEED::m_mutexAllDone, AdminThreadEED::m_threads, AdminThreadEED::m_waitingUntilAllDone, and PriorityLoop::StopLoop().
00631 { 00632 _priorityLoop->StopLoop(); 00633 wxCriticalSectionLocker locker(_adminThreadEED->m_critsect); 00634 wxArrayThread& threads = _adminThreadEED->m_threads; 00635 threads.Remove(this); 00636 00637 if ( threads.IsEmpty() ) { 00638 if ( _adminThreadEED->m_waitingUntilAllDone ){ 00639 _adminThreadEED->m_waitingUntilAllDone = FALSE; 00640 wxMutexLocker lock(_adminThreadEED->m_mutexAllDone); 00641 _adminThreadEED->m_condAllDone.Signal(); 00642 } 00643 } 00644 }
AdminThreadEED* MyThread::_adminThreadEED [private] |
Definition at line 207 of file wxReadingPriorityPanel.h.
Referenced by MyThread(), and OnExit().
PriorityLoop* MyThread::_priorityLoop [private] |
Definition at line 206 of file wxReadingPriorityPanel.h.
Referenced by Entry(), MyThread(), and OnExit().