patch-2.0.37 linux/drivers/char/random.c

Next file: linux/drivers/char/selection.h
Previous file: linux/drivers/char/keyboard.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.36/linux/drivers/char/random.c linux/drivers/char/random.c
@@ -1004,7 +1004,17 @@
 		buf += i;
 		add_timer_randomness(r, &extract_timer_state, nbytes);
 		if (to_user && need_resched)
+		{
+			if(current->signal & ~current->blocked)
+			{
+				if(nbytes==0)
+					ret = -ERESTARTSYS;
+				else
+					ret -= nbytes;
+				break;
+			}
 			schedule();
+		}
 	}
 
 	/* Wipe data from memory */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov