tty.c: don't return EOF from read until all the data is retrieved.
authorBrett Gordon <beretta42@gmail.com>
Sun, 29 Nov 2015 15:24:53 +0000 (10:24 -0500)
committerBrett Gordon <beretta42@gmail.com>
Sun, 29 Nov 2015 15:41:31 +0000 (10:41 -0500)
Kernel/tty.c

index 15fb3fa..258dc43 100644 (file)
@@ -46,7 +46,7 @@ int tty_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
        nread = 0;
        while (nread < udata.u_count) {
                for (;;) {
-                       if (t->flag & TTYF_DEAD) {
+                       if ((t->flag & TTYF_DEAD)&&(!q->q_count)) {
                                udata.u_error = ENXIO;
                                return -1;
                         }