Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
ВнизИ снова Service Найти похожие ветки
← →
Fiend (2002-07-10 15:37) [0]Вот код моего сервиса:
procedure TCRService.ServiceExecute(Sender: TService);
begin
while not Terminated do
begin
sleep(100);
CRService.ServiceThread.ProcessRequests(false);
end;
StopServer;
end;
Почему то нерегулярно но где то после третьего цикла Запуск-Останов, на останове выдаёт ошибку "Память не может быть read". Долго колупался, проверил все деструкторы своих объектов, что и как выполняеться, всё корректно. Утомился и сделал слегонца другой код:
procedure TCRService.ServiceExecute(Sender: TService);
begin
CRService.ServiceThread.ProcessRequests(true);
StopServer;
end;
И шо ви думаете, ошибка пропала!
С чем связано появление эррора, непонятно. Но очень нехочется чтобы в дальнейшем мой сервис вычудил что то с системой.
Гляданите ПОЖАЛУСТА
← →
Fiend (2002-07-10 15:53) [1]Шо даже намёков на мысли никаких нет??????
← →
Skier (2002-07-10 15:54) [2]>Fiend
А если sleep(100) снести ?
← →
Fiend (2002-07-10 16:00) [3]Если снести эту "Важнейшую" операцию, то как вы прекрасно понимаете, мой сервис тут же отрывает все ресурсы на себя. Оно и понятно. Можно конечно и убрать, не вопрос, тока вот зачем???
Я проверял, все дуструкторы и останавливающие процеды отрабатывают до конца!!!!
Ошибка же возникает ХЗ когда. И я так понимаю, что если моё разрушение отработало до конца, значит ошибку делает не мой код.
А кто, и почему???
Ведб Екзекуте я переделал не сильно, со смысловой точки зрения.
← →
Fiend (2002-07-10 18:26) [4]И всё же разобрался.
Дело было не в синхронизации, как некоторые мне на чате тыкали этим в лицо.
Просто пока останавливались дочерние потоки, главный поток, который их породил, успевал выгрузить библиотеки с функциями, которые использщовались дочерними потоками.
Это конечно можно назвать и синхронизацией, но слегка не в том смысле, как например синхронизация с ВЦЛ
← →
Skier (2002-07-10 18:28) [5]>Fiend
Т.е. дело в sleep-е или что-то более хитрое ?
← →
Fiend (2002-07-10 18:29) [6]То Skier ©
нет не в слипе.
Хотя я его и применил, чтобы основной поток при уничтожении, подождал слегка пока порождённые им трэды успели разрушиться
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c