lkml.org 
[lkml]   [1998]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: A question on PTY
Date
> 
> From: hjl@lucon.org (H.J. Lu)
> Date: Wed, 9 Dec 1998 08:09:12 -0800 (PST)
>
> I got 2 failures in the POSIX test on PTY. One is the STOP char
> is not sent when the PTY is full. Although write blocks, read on
> the blocked PTY doesn't return the STOP char. The other one is
> when the PTY is put in back ground, output doesn't generate
> SIGTTOU. I can provide testcases if necessary.
>
> HJ,
>
> Can you provide test cases? Both of these cases are
> handled by the high-level tty code, and the last time I checked using
> the serial driver (which granted was a while ago), neither of these
> cases were a problem. So test cases would be most helpful. Thanks!!
>

Looking through the code in drivers/char, I believe XOFF/XON, SIGTTOU,
tcdrain, tcflush and tcflow are not fully supported on PTY. I believe
the patch below fixes SIGTTOU for tcdrain and others on PTY. Please
take a look. If it is correct, I will provide a testcase for others.

Thanks.


--
H.J. Lu (hjl@gnu.org)
---
Index: tty_io.c
===================================================================
RCS file: /home/work/cvs/linux/linux/drivers/char/tty_io.c,v
retrieving revision 1.1.1.36
diff -u -p -r1.1.1.36 tty_io.c
--- tty_io.c 1998/12/03 22:05:20 1.1.1.36
+++ tty_io.c 1998/12/10 05:06:07
@@ -1671,14 +1671,21 @@ int tty_ioctl(struct inode * inode, stru
switch(cmd) {
case TIOCSBRK:
case TIOCCBRK:
- if (tty->driver.ioctl)
+ if (tty->driver.ioctl) {
+ retval = tty_check_change(tty);
+ if (retval)
+ return retval;
return tty->driver.ioctl(tty, file, cmd, arg);
+ }
return -EINVAL;

/* These two ioctl's always return success; even if */
/* the driver doesn't support them. */
case TCSBRK:
case TCSBRKP:
+ retval = tty_check_change(tty);
+ if (retval)
+ return retval;
if (!tty->driver.ioctl)
return 0;
retval = tty->driver.ioctl(tty, file, cmd, arg);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:46    [W:0.270 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site