The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Signal"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Signal"  
Сообщение от Elyad on 13-Окт-06, 13:03 
Пишу прогу, в которой надо по истечении недели вызывать функцию, которая шлет  широковещательные пакеты.
Но проблема в том, что в функцию signal нельзя поместить обработчик сигнала с несколькими разными аргументами, т.к. по определению она содержит только один целочисл. аргумент.
Мне же надо в функцию  обработчика сигнала записать несколько разных аргументов.
Что же делать?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • Signal, Elyad, 15:11 , 13-Окт-06, (1)  
  • Signal, Sergey, 16:33 , 13-Окт-06, (2)  
    • Signal, Sergey, 16:38 , 13-Окт-06, (3)  
      • Signal, Sergey, 16:43 , 13-Окт-06, (4)  

Сообщения по теме [Сортировка по времени, UBB]


1. "Signal"  
Сообщение от Elyad on 13-Окт-06, 15:11 
>Неужели ни кто не знает как сделать так, чтобы при получении сигнала от ядра процесс запускал функцию, имеющию несколько аргументов. Неужели перевелись настоящие программеры!!!
>
>
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Signal"  
Сообщение от Sergey (??) on 13-Окт-06, 16:33 
>Пишу прогу, в которой надо по истечении недели вызывать функцию, которая шлет
> широковещательные пакеты.
>Но проблема в том, что в функцию signal нельзя поместить обработчик сигнала
>с несколькими разными аргументами, т.к. по определению она содержит только один
>целочисл. аргумент.
>Мне же надо в функцию  обработчика сигнала записать несколько разных аргументов.
>
>Что же делать?

Функция signal только устанавливает обработчик на конкретный сигнал.
Пришел сигнал - вызвалась функция.

Не зная архитектуры вашей системы, могу предложить использовать какие-нибудь схемы обмена между обработчиком сигнала и инициирующей этот вызов функцией. Например файл, pipe, sockets и т.д.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Signal"  
Сообщение от Sergey (??) on 13-Окт-06, 16:38 
>>Пишу прогу, в которой надо по истечении недели вызывать функцию, которая шлет
>> широковещательные пакеты.
>>Но проблема в том, что в функцию signal нельзя поместить обработчик сигнала
>>с несколькими разными аргументами, т.к. по определению она содержит только один
>>целочисл. аргумент.
>>Мне же надо в функцию  обработчика сигнала записать несколько разных аргументов.
>>
>>Что же делать?
>
>Функция signal только устанавливает обработчик на конкретный сигнал.
>Пришел сигнал - вызвалась функция.
>
>Не зная архитектуры вашей системы, могу предложить использовать какие-нибудь схемы обмена между
>обработчиком сигнала и инициирующей этот вызов функцией. Например файл, pipe, sockets
>и т.д.

Как вариант, попробуйте использовать глобальную память и передавать в параметре int указатель на эту память. А уж указатель может быть любого типа.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Signal"  
Сообщение от Sergey (??) on 13-Окт-06, 16:43 
>>>Пишу прогу, в которой надо по истечении недели вызывать функцию, которая шлет
>>> широковещательные пакеты.
>>>Но проблема в том, что в функцию signal нельзя поместить обработчик сигнала
>>>с несколькими разными аргументами, т.к. по определению она содержит только один
>>>целочисл. аргумент.
>>>Мне же надо в функцию  обработчика сигнала записать несколько разных аргументов.
>>>
>>>Что же делать?
>>
>>Функция signal только устанавливает обработчик на конкретный сигнал.
>>Пришел сигнал - вызвалась функция.
>>
>>Не зная архитектуры вашей системы, могу предложить использовать какие-нибудь схемы обмена между
>>обработчиком сигнала и инициирующей этот вызов функцией. Например файл, pipe, sockets
>>и т.д.
>
>Как вариант, попробуйте использовать глобальную память и передавать в параметре int указатель
>на эту память. А уж указатель может быть любого типа.

Забыл отметить, что данный метод будет работать только в том случае, если вызывающая ф-я и обработчик работают в одном процессе.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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