question regarding down_interruptible

Vijay Ram Chitrapu chitrapu.vijayram at
Mon Apr 4 00:27:16 EDT 2011

Hi Experts,

I have a system in which there is a only 1 user process and a
corresponding kernel module (driver) associated with it to send and
receive data to the user process. In the kernel module, i have a
semaphore to protect a critical section of code during the rx and tx
paths. However, at some instance of code execution, the
down_interruptible returns EINTR, which means that the user process
has received some interrupt due to which the process has come out of
sleep due to the signal it received, due to which the kernel module
has not got the semaphore. At this point of time, i have no idea as to
which signal has triggered the user process to come out of the sleep.
Is there a way in which we can know which signal has a process
received, without registering any user defined handler to it?

Any thoughts/ideas on debugging this problem can be of great help.
Also please correct me if i am wrong in any of my understanding
regarding down_interruptible.


More information about the Kernelnewbies mailing list