Signal/timer events notifications through file descriptors

2.6.22の新機能

Linux currently lacks a proper way to get complete event reporting like other systems do. poll/epoll isn't a solution for everything, because it only works in file descriptors so things like timer and signal notifications aren't covered by it, so to get fe. signal notifications in the main event loop people has needed to use (clever) hacks, like writing a byte between two internal pipes.
Linux_2_6_22 - Linux Kernel Newbies

調べること

pollがシグナルを認識する時のコンテキストは? 従来のシグナルハンドラとは異なる? その場合の即時性は?
A.
プロセス実行時に非同期的なコンテキストで実行はされない=従来のシグナルハンドラ(スタックの退避等が必要)とは異なる.
poll は,fs/signalfd.c:signalfd_poll() にて

poll_wait(file, &ctx->wqh, wait);

をしてシグナルを待つ.よって,シグナルを認識するときのコンテキストは通常のプロセスの流れと同様である.
即時性については,シグナルを受け取ったときにpollが待っているウェイトキューが起床されるならば,従来のシグナルハンドラと同等なのかな?