Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Глюк в инди при работе с потоками?   Найти похожие ветки 

 
Zelius ©   (2004-01-28 14:29) [0]

Ставлю TidHttpServer, даю ему TidThreadMgrPool в качестве менеджера потоков, ставлю максимальное кол-во потоков. Теперь, если кол-во потоков превышает максимальное, то поток осовобождается даважды!

destructor TIdThread.Destroy;
begin
 FreeOnTerminate := FALSE; //prevent destroy between Terminate & WaitFor
 inherited Destroy; //Terminate&WaitFor <---  здесь
 Cleanup; <--- и здесь вызов приходит в TIdThreadMgrPool.ReleaseThread, где он удаляется еще раз!
 FreeAndNil(FLock);
end;

вопрос, что делать?


 
Reindeer Moss Eater ©   (2004-01-28 14:32) [1]

А зачем в уже вызванном(!) деструкторе говорить, что деструктор при останове потока вызывать не нада?


 
Zelius ©   (2004-01-28 14:42) [2]

Я выдрал этот кусок из idThread, ничего своего туда не приписывал, так сказать поведение по умолчанию!


 
Zelius ©   (2004-01-28 16:11) [3]

Похоже, что это глюк из 9.0.10 версии, в 9.0.14 не вылезает.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1078504651
Aldor
2004-03-05 19:37
2004.04.04
MySQL. Работа с двумя таблицами, блокировка одной из них.


14-1078465796
Dimich1978
2004-03-05 08:49
2004.04.04
Борьба с вирусами


7-1074682789
DECL
2004-01-21 13:59
2004.04.04
Установка dll на компьютере клиента


4-1074893998
Raki
2004-01-24 00:39
2004.04.04
Имя процесса


3-1078816493
phpist
2004-03-09 10:14
2004.04.04
QReport и Landscape