diff -urpNX dontdiff linux-2.5.38/fs/locks.c linux-2.5.38-flock/fs/locks.c
--- linux-2.5.38/fs/locks.c	2002-09-21 18:47:00.000000000 -0700
+++ linux-2.5.38-flock/fs/locks.c	2002-09-24 13:14:22.000000000 -0700
@@ -253,7 +261,11 @@ static int flock_make_lock(struct file *
 
 	fl->fl_file = filp;
 	fl->fl_pid = current->pid;
-	fl->fl_flags = FL_FLOCK;
+	if (cmd & LOCK_NB) {
+		fl->fl_flags = FL_FLOCK;
+	} else {
+		fl->fl_flags = FL_FLOCK | FL_SLEEP;
+	}
 	fl->fl_type = type;
 	fl->fl_end = OFFSET_MAX;
 	
