Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/char/pty.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff -puN drivers/char/pty.c~pty_write-latency-fix drivers/char/pty.c
--- 25/drivers/char/pty.c~pty_write-latency-fix	2004-07-13 23:54:55.891614544 -0700
+++ 25-akpm/drivers/char/pty.c	2004-07-13 23:55:35.539587136 -0700
@@ -126,7 +126,8 @@ static int pty_write(struct tty_struct *
 			n = to->ldisc.receive_room(to);
 			if (n > count)
 				n = count;
-			if (!n) break;
+			if (!n)
+				break;
 
 			n  = min(n, PTY_BUF_SIZE);
 			n -= copy_from_user(temp_buffer, buf, n);
@@ -140,11 +141,13 @@ static int pty_write(struct tty_struct *
 			room = to->ldisc.receive_room(to);
 			if (n > room)
 				n = room;
-			if (!n) break;
+			if (!n)
+				break;
 			buf   += n; 
 			c     += n;
 			count -= n;
 			to->ldisc.receive_buf(to, temp_buffer, NULL, n);
+			cond_resched();
 		}
 		up(&tty->flip.pty_sem);
 	} else {
_