[ Lazar-I @ 23.02.2005. 12:23 ] @
Skoro sam siguran da ovo (bez skinutih komentara ispred mutexa) moze da napravi problem, ali rekoh da pitam posto sam slican kod skinuo negde sa neta. Code: void * ThreadFunc(void *ptr) { Thread *thr=static_cast<Thread*>(ptr); thr->EntryPoint(); //thr->m_runningMtx.Lock() thr->m_isRunning=false; //thr->m_runningMtx.Unlock(); return NULL; } Code: void Thread::CreateThread(bool joinable, bool sysCS); { //ako vec imam thread koji radi onda treba izbaciti izuzetak //m_runningMtx.Lock(); if(m_isRunning) { //m_runningMtx.Unlock(); throw EThreadRunning(); } //m_runningMtx.Unlock(); . . if(!pthread_create(&m_pid,&atrib,Thread.ThreadFunc,this)) . . } |