if (signal_pending(current))
return -ERESTARTSYS; /* signal: tell the fs layer to handle it */

What exactly this will do when i call in my driver and when should i use this one ?


I am little bit confused with down_interruptible ,i am sure that if semaphore is not available it will be blocked , but the operation is interruptible,it allows a user-space process that is waiting on a semaphore to be interrupted by the user Please elobrate this one in easy language so that i can understand with simple example if possible taking two process like read and write.....


wait_event_interruptible --How do i interupt this one from other process using signal ?

Thanks in advance