Thread View: comp.bugs.4bsd
1 messages
1 total messages
Started by Jonathan Stone
Fri, 14 Jun 1991 02:31
Can't change line discipline on pty
Author: Jonathan Stone
Date: Fri, 14 Jun 1991 02:31
Date: Fri, 14 Jun 1991 02:31
63 lines
2356 bytes
2356 bytes
Subject: Can't change line discipline on pty
Index: /sys/kern/tty_pty.c
Description:
The pty driver refuses to change the line discipline on
pty terminals to anything other than the standard tty line
discipline. Comments in the code claim that this is because
other line disciplines may over-write the tty queues. The
SLIP line discipline respects the tty queues, and in certain
regrettable circumstances it is useful to run SLIP through a pty.
(Please don't ask what they are.)
Repeat-By:
Run slattach(8) or sliplogin(8) on a pty.
Fix:
Apply the following patch to a kernel with SLIP configured,
and rebuild the kernel. The compile-time test for
configuration of SLIP should not be necessary, but cannot hurt.
Other line disciplines (such as dialup IP) may also be
appropriate for ptys.
*** /sys/kern/tty_pty.c Sun Jul 29 06:48:41 1990
--- /mnt/old.sys/kern/tty_pty.c Sat Jun 8 13:43:26 1991
***************
*** 38,44 ****
--- 38,49 ----
#include "uio.h"
#include "kernel.h"
#include "vnode.h"
+ #include "sl.h"
+ #if NSL > 0
+ extern int slinput();
+ #endif
+
#if NPTY == 1
#undef NPTY
#define NPTY 32 /* crude XXX */
***************
*** 620,626 ****
* the queues. We can't tell anything about the discipline
* from here...
*/
! if (linesw[tp->t_line].l_rint != ttyinput) {
(*linesw[tp->t_line].l_close)(tp);
tp->t_line = 0;
(void)(*linesw[tp->t_line].l_open)(dev, tp, flag);
--- 625,635 ----
* the queues. We can't tell anything about the discipline
* from here...
*/
! if (
! #if NSL > 0
! linesw[tp->t_line].l_rint != slinput &&
! #endif
! linesw[tp->t_line].l_rint != ttyinput) {
(*linesw[tp->t_line].l_close)(tp);
tp->t_line = 0;
(void)(*linesw[tp->t_line].l_open)(dev, tp, flag);
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads