LINUX.ORG.RU

никогда не понимал зачем у kill_fasync() есть "int sig".

но этот параметр не то, что вы думаете. посылается
fown_struct->signum.

иными словами, не kill_fasync() не определяет сигнал,
а F_SETSIG and friends.

idle ★★★★★
()
Ответ на: комментарий от mv

>Сигнал от кого кому посылается? От кого:Драйвер какого-нибудь устройства, посылает сигнал из kernel-space в user-space. Кому:Не важно, а точнее-кто поймает.

rapa
() автор топика
Ответ на: комментарий от rapa

Просто так сигналы в воздух не посылаются - это часть process management. А так:

int kill_pid(struct pid *pid, int sig, int priv);
struct pid *find_vpid(int nr);

mv ★★★★★
()

Это похоже на асинхронное уведомление о событиях ввода-вывода. Можно ещё подглядеть, как ядро шлёт процессам SIGSEGV, SIGILL, SIGILL... Наверное, стоит рассказать, зачем вообще понадобилось сигналы слать.

const86 ★★★★★
()
Ответ на: комментарий от rapa

ну как тут обьяснить проще... да там тривиально все, смотрите
в fs/fcntl.c __kill_fasync() и send_sigio_to_task().

idle ★★★★★
()
Ответ на: комментарий от const86

>Наверное, стоит рассказать, зачем вообще понадобилось сигналы слать.

Пишу для Embedded.У меня есть драйвер для GPIO.2 inputs используются как кнопки Exit и Tamper.Реагировать на нажатие этих кнопок нужно немедленно.Поэтому меня и интересуют сигналы,потому,что (как мне кажется) в данном случае это идеальный вариант.Или есть идеи получше?

rapa
() автор топика
Ответ на: комментарий от rapa

> Реагировать на нажатие этих кнопок нужно немедленно.Поэтому меня и интересуют сигналы,потому,что (как мне кажется) в данном случае это идеальный вариант.

Сделать просто символьный девайс, в который писать какие-то условные байты. Да, сигналы доходят до процесса (кстати, какого, если из ядра отправлять?) сразу, но обрабатываться процессом могут с задержками, так что городить этот огород смысла не вижу.

const86 ★★★★★
()
Ответ на: комментарий от Dennis7

> int send_sig(int sig, struct task_struct *p, int priv) ???

Что "???"?

const86 ★★★★★
()
Ответ на: комментарий от rapa

>Пишу для Embedded.У меня есть драйвер для GPIO.2 inputs используются как кнопки Exit и Tamper.Реагировать на нажатие этих кнопок нужно немедленно.

Я думал для такого нужно обработчик прерывания писать :(

Boy_from_Jungle ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.