🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Jonathan Stone Fri, 14 Jun 1991 02:31
Can't change line discipline on pty
#389
Author: Jonathan Stone
Date: Fri, 14 Jun 1991 02:31
63 lines
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