patch-2.1.57 linux/fs/select.c

Next file: linux/fs/super.c
Previous file: linux/fs/readdir.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.56/linux/fs/select.c linux/fs/select.c
@@ -184,7 +184,7 @@
 			}
 		}
 		wait = NULL;
-		if (retval || !current->timeout || (current->signal & ~current->blocked))
+		if (retval || !current->timeout || signal_pending(current))
 			break;
 		schedule();
 	}
@@ -333,7 +333,7 @@
 		goto out;
 	if (!error) {
 		error = -ERESTARTNOHAND;
-		if (current->signal & ~current->blocked)
+		if (signal_pending(current))
 			goto out;
 		error = 0;
 	}
@@ -384,7 +384,7 @@
 		}
 
 		wait = NULL;
-		if (count || !current->timeout || (current->signal & ~current->blocked))
+		if (count || !current->timeout || signal_pending(current))
 			break;
 		schedule();
 	}
@@ -439,7 +439,7 @@
 		__put_user(fds->revents, &ufds->revents);
 	}
 	kfree(fds1);
-	if (!fdcount && (current->signal & ~current->blocked))
+	if (!fdcount && signal_pending(current))
 		err = -EINTR;
 	else
 		err = fdcount;

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