rlogin sessions don't handle ^S/^Q in raw mode?
Joaquim Martillo
martillo at mit-athena.ARPA
Wed Jan 30 13:47:03 AEST 1985
My previous fix to the rlogin problem was incorrect. The function
ptyioctl in tty_pty.c should be altered. I will send a copy of the
function if requested via private mail.
diff tty_pty.c tty_pty.c~ is:
424,425c424,425
< caddr_t data;
< dev_t dev;
---
> caddr_t data;
> dev_t dev;
430d429
< register int stop;
432,433d430
< /* printf("Entering ptyioctl\n");*/
<
436,438c433,434
< {
< switch (cmd)
< {
---
> switch (cmd) {
>
441d436
< {
443d437
< }
445d438
< {
447d439
< }
448a441
>
451d443
< {
453d444
< }
455d445
< {
457d446
< }
463d451
< {
465d452
< }
467d453
< {
469d454
< }
473d457
< /* printf("TIOCSETP cmd is %d\n", cmd);*/
475d458
< {
477d459
< }
480,481d461
< }
< /* printf("Invoking ttioctl\n");*/
484d463
< {
486,493c465,468
< }
< stop = !(tp->t_flags & RAW);
< /* printf("The variable stop is %d\n", stop);*/
<
< if (pti->pt_flags & PF_NOSTOP)
< {
< if (stop)
< {
---
> { int stop = (tp->t_stopc == ('s'&037) &&
> tp->t_startc == ('q'&037));
> if (pti->pt_flags & PF_NOSTOP) {
> if (stop) {
499,505c474,481
< }
< else if (stop == 0)
< {
< pti->pt_send &= ~TIOCPKT_DOSTOP;
< pti->pt_send |= TIOCPKT_NOSTOP;
< pti->pt_flags |= PF_NOSTOP;
< ptcwakeup(tp);
---
> } else {
> if (stop == 0) {
> pti->pt_send &= ~TIOCPKT_DOSTOP;
> pti->pt_send |= TIOCPKT_NOSTOP;
> pti->pt_flags |= PF_NOSTOP;
> ptcwakeup(tp);
> }
> }
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list