kernel threads and signals



Let's say I have some legacy code from a device driver that starts a
kernel thread. Its main loop consists in waiting for some timeout or
event and then does some checks (or performs some action).

The wait is interruptible so that I need to verify if the kernel
thread got a signal pending: signal_pending(current) is the call I
use. However, is there any way I can figure out which signal(s) it
received? Then, how can a kernel thread handle any signal?

Are there any default signal(s) enabled when a kernel thread is
created? If so, how can I know which ones are enabled by default?

Thank in advance for your help.

.



Relevant Pages

  • Re: question for a column of ps reporting
    ... > What does WCHAN mean in ps reporting? ... For a kernel thread, this field is blank if the kernel thread is ... sleeping kernel thread if only one kernel thread is sleeping; ... The event on which process is waiting. ...
    (comp.unix.admin)
  • Re: question for a column of ps reporting
    ... > What does WCHAN mean in ps reporting? ... For a kernel thread, this field is blank if the kernel thread is ... sleeping kernel thread if only one kernel thread is sleeping; ... The event on which process is waiting. ...
    (comp.unix.shell)
  • kernel#select and threads
    ... Does calling kernel#select stop all ruby threads while it is waiting ... or does the interpreter run the select on a different kernel thread? ... By running the select on another kernel thread other ruby threads ...
    (comp.lang.ruby)