2013-12-08 2 views
0

В ядре linux есть такие флаги, как SA_INTERRUPT, SA_SHIRQ, SA_SAMPLE_RANDOM. Я хочу знать аббревиатуру SA в SA_INTERRUPT?аббревиатура SA в SA_INTERRUPT?

+5

AFAIK это означает «SigAction»: HTTP: //pubs.opengroup. орг/onlinepubs/009695299/basedefs/signal.h.html –

ответ

1

Это в основном только предположение, но ... Я думаю, что старые флаги request_irq были слабо смоделированы по системному вызову sigaction (2). Это имеет смысл: сигнал прерывает программу пользовательского пространства; sigaction используется (среди других альтернатив), чтобы определить, где/как программа вызывается при подаче сигнала. Точно так же request_irq() используется для указания того, где/как ядро ​​вызывается при поставке аппаратного прерывания. В обоих случаях флаги используются для запроса изменений в поведении.

См. http://man7.org/linux/man-pages/man2/sigaction.2.html для флагов sigaction.

(Также стоит отметить, что флаги SA_xxx были исключены из последних версий ядра Теперь они IRQF_xxx, что делает больше смысла.).

Смежные вопросы