Вниз
Скачать: 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.022 c
1-1079426204
Ш-К
2004-03-16 11:36
2004.04.04
XML и специальные символы.


3-1078903701
BAYES
2004-03-10 10:28
2004.04.04
ADO


3-1078463921
avkar
2004-03-05 08:18
2004.04.04
cxDBEdit


14-1078999856
one-off-job
2004-03-11 13:10
2004.04.04
Требуется программист/программисты для удаленной работы.


6-1075180867
MAXIMUS
2004-01-27 08:21
2004.04.04
Как отключиться от компа в сети?




   Наверх