Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > signal


Автор: Elyad 13.10.2006, 11:59
Пишу прогу, в которой надо по истечении недели вызывать функцию, которая шлет  широковещательные пакеты.
Но проблема в том, что в функцию signal нельзя поместить обработчик сигнала с несколькими разными аргументами, т.к. по определению она содержит только один целочисл. аргумент.
Мне же надо в функцию записать несколько разных аргументов.
Что же делать? smile 

Автор: Elyad 13.10.2006, 14:01
Ну неужели никто не знает как сделать так, чтобы при поступлении сигнала от ядра процесс вызывал функцию имеющую больше 1 аргумента. Неужели перевелись настоящие программеры!!! smile 

Автор: Romikgy 13.10.2006, 14:17
Elyad, 
1. для какой системы пишешь( ось какая?)
2. .... будет после ответа ,( который я уже подразумеваю, но подожду ответа)

Автор: Elyad 13.10.2006, 14:24
пишу под Unix

Автор: Romikgy 13.10.2006, 15:19
Цитата(Romikgy @  13.10.2006,  13:17 Найти цитируемый пост)
2. 

что твоя тема делает в разделе Windows API ?????

Автор: Любитель 15.10.2006, 23:24
Пишем на сях (в смысле не плюсы)?
Тогда - тупой метод:
1. Создаём структуру в неё записываем все данные.
2. В signal передаём указатель на структуру, приведённый к целочисленному типу.
3. В обработчике делаем обратное преобразование.

Понятно, что о типосейфити говорить не приходится... А жаль  smile 

Автор: Elyad 16.10.2006, 11:21
По-моему я нашел самое оптимальное решение!!!
Надо просто необходимые параметры описать как внешние - вот и все дела.  И функция - обработчик просто вызывают нужную мне функцию со всеми параметрами, т.к. все они известны и сохраняют свое значение. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)