Friday, November 28, 2008

Methods for kernel to send a signal to a user program

I got some time to try some possible methods, here they are.

1. use "call_usermodehelper_keys()"
cons: it can't be used in kernel's interrupt context

2. wake up a kernel thread, and code it to send the signal
pros: could be used even in interrupt context
cons: need a kernel thread in waiting. Looks not formal

3. use "send_sig_info()" to send a signal to certain user program. see
the user program should register its pid to kernel first.
procfs could be used as the interface to register.