никогда не понимал зачем у kill_fasync() есть "int sig".
но этот параметр не то, что вы думаете. посылается
fown_struct->signum.
иными словами, не kill_fasync() не определяет сигнал,
а F_SETSIG and friends.
>Сигнал от кого кому посылается? От кого:Драйвер какого-нибудь устройства, посылает сигнал из kernel-space в user-space. Кому:Не важно, а точнее-кто поймает.
Это похоже на асинхронное уведомление о событиях ввода-вывода. Можно ещё подглядеть, как ядро шлёт процессам SIGSEGV, SIGILL, SIGILL... Наверное, стоит рассказать, зачем вообще понадобилось сигналы слать.
>Наверное, стоит рассказать, зачем вообще понадобилось сигналы слать.
Пишу для Embedded.У меня есть драйвер для GPIO.2 inputs используются как кнопки Exit и Tamper.Реагировать на нажатие этих кнопок нужно немедленно.Поэтому меня и интересуют сигналы,потому,что (как мне кажется) в данном случае это идеальный вариант.Или есть идеи получше?
> Реагировать на нажатие этих кнопок нужно немедленно.Поэтому меня и интересуют сигналы,потому,что (как мне кажется) в данном случае это идеальный вариант.
Сделать просто символьный девайс, в который писать какие-то условные байты. Да, сигналы доходят до процесса (кстати, какого, если из ядра отправлять?) сразу, но обрабатываться процессом могут с задержками, так что городить этот огород смысла не вижу.