patch-2.2.8 linux/fs/locks.c

Next file: linux/fs/minix/namei.c
Previous file: linux/fs/isofs/namei.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.7/linux/fs/locks.c linux/fs/locks.c
@@ -263,16 +263,18 @@
 		if (waiter->fl_notify)
 			waiter->fl_notify(waiter);
 		wake_up(&waiter->fl_wait);
-		if (wait)
+		if (wait) {
 			/* Let the blocked process remove waiter from the
 			 * block list when it gets scheduled.
 			 */
+			current->policy |= SCHED_YIELD;
 			schedule();
-		else
+		} else {
 			/* Remove waiter from the block list, because by the
 			 * time it wakes up blocker won't exist any more.
 			 */
 			locks_delete_block(blocker, waiter);
+		}
 	}
 	return;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)