Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
14-1078557544
ИМХО
2004-03-06 10:19
2004.04.04
Вопрос создателям Delphi-компонентов


1-1079246417
Kor@l
2004-03-14 09:40
2004.04.04
Rave and memo


1-1079540651
Buffoon
2004-03-17 19:24
2004.04.04
Конвертирование


1-1079427231
Skif
2004-03-16 11:53
2004.04.04
Сортировка строки


14-1079054895
Soft
2004-03-12 04:28
2004.04.04
Том и Джерри по украински...




   Наверх