Вопрос в следующем:
Сделал класс для мультисридного сервера но кода thread отработал
он должен уничтожить свой объект
....
void* MyClass::TreadProc(void* p)
{
MyClass* ptrClass = (MyClass*)p;
ptrClass->Process();
if(ptrClass->Auto)
{
delete ptrClass;
}
return (void*)0;
}
....
пускается он
.....
if( pthread_create(&th,NULL,ThreadProc,(void*)this)!=0) throw() __Exeption__(THREAD_ERROR);
.....
то после уничтожения класса остается 4 байта d ps -aux
а если я его после запуска pthread_detach()-ну
и в ThreadProc()
дописываю
....
void* MyClass::TreadProc(void* p)
{
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED,0x00);
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,0x00);
}
то все класс, но мне надо неотсоединять нить, и дождаться ее "join" в деструкторе, что делать
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум pthread — leaks ???? (2002)
- Форум Управление потоками с использованием pthread (2014)
- Форум pthread (2009)
- Форум pthread (2007)
- Форум pthread (2008)