The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Сигналы (signal )


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: signal,  (найти похожие документы)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _ From : Alex Zakirov 2:5029/5.38 12 Sep 98 15:23:48 Subj : Сигналы ________________________________________________________________________________ Hail, All! Подскажите плз решение такой проблемы: Есть два процесса (1) и (2). Процесс (2) шлет процессу (1) сигналы, скажем SIGUSR1. Частота посылок сигналов непредсказуема и постоянно изменяется. Процесс (1) по приему сигнала от (2) начинает некую обработку, время которой все время разное, но, в среднем, большее, чем частота посылок сигнала процессом (2). Проблема в том, что обработка должна просходить в хэндлере сигнала, а тогда получается, что если она затянулась, то некоторое количество посылаемых (2) сигналов будет потеряно, т.к. этот сигнал в хэндлере блокируется на время выполнения. Причем я проверил это на простом примере и это действительно так. Вопрос в том, где я плохо читал маны, и какие решения будут самые прямые в это случае? Форк не катит, т.к. слишком дорогая по времени процедура получается. ** WBR, Alex Zakirov. (2:5029/5, frank@rcs.ru) ...Проблемы негров не е$#т белых шерифов (c) --- tin-1.3.unoff.beta-golded-mode * Origin: HellBell Station. Powered by FreeBSD. (2:5029/5.38@fidonet) _ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _ From : Valentin Nechayev 2:5020/400 13 Sep 98 01:48:26 Subj : Re: Сигналы ________________________________________________________________________________ From: "Valentin Nechayev" <nx@nn.kiev.ua> Reply-To: nx@nn.kiev.ua Hello Alex Zakirov! At 12-Sep-98 15:24, Alex Zakirov wrote: > Подскажите плз решение такой проблемы: > Есть два процесса (1) и (2). Процесс (2) шлет процессу (1) сигналы, > скажем SIGUSR1. Частота посылок сигналов непредсказуема и постоянно > изменяется. Процесс (1) по приему сигнала от (2) начинает некую обработку, > время которой все время разное, но, в среднем, большее, чем частота посылок > сигнала процессом (2). > > Проблема в том, что обработка должна просходить в хэндлере сигнала, > а тогда получается, что если она затянулась, то некоторое количество > посылаемых (2) сигналов будет потеряно, т.к. этот сигнал в хэндлере > блокируется на время выполнения. Причем я проверил это на простом > примере и это действительно так. Сигналы на такое не pассчитаны. Пpименяй unix sockets или message queues (из IPC - msgget() и пp.) -- NVA --- ifmail v.2.14dev2 * Origin: unknown (2:5020/400@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру