thread в демоне

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Aleksey

Сообщение Aleksey »

Добрый день !

Необходимо создать thread в демоне.

Описание проблемы:

есть программа (под linux, i386), которая выполняет следующие действия:

- создается демон (fpFork(); закрытие консоли)
- создание нескольких потоков (потомки класса TThread)

Если программа запускается на Pentium 4, то все работает.
Если программа запускается на Pentium 1 (или MMX), то в момент вызова
TThread.Create() все виснет (процесс остается в памяти).
Если на Pentium 1, создать поток не проводя перед этим процедуру
"демонизации", то тоже все работает.

Еще выявлено следующее отличие: на Pentium 4 процесс с несколькими
потоками по команде ps отображается в виде одного процесса, на Pentium 1 -
в виде нескольких, с разными pid.
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

Я бы обратил в таком случае внимание на ключи оптимизации в fpc.cfg (и fp.cfg, если компиляция производится из-под IDE fp).
Ответить