void * ThreadBase::ThreadMain(void *pvOwner) { ThreadBase *pcOwner = (ThreadBase *)pvOwner; void *pvResult; pcOwner->bThreadRunning = true; if ((pvResult = pcOwner->Initialise()) == NULL) { pvResult = pcOwner->Execute(); } pcOwner->CleanUp(); pcOwner->SignalThreadDead(); return pvResult; }