Article View: net.bugs.2bsd
Article #51LMDMBUF and LNOHANG with dz
From: cincyjreuter
Date: Mon, 03 May 1982 08:28
Date: Mon, 03 May 1982 08:28
73 lines
2338 bytes
2338 bytes
The dz and dh drivers for 2.8BSD don't support the LMDMBUF and LNOHANG
options that will allow a device to use carrier-detect to handshake.
I had to do this for an Epson MX-100 with a 2k buffer serial option (I
understand they now have a 2k buffer serial option that does XON and XOFF
so get that if you're buying Epsons...) so here is the diff with the fixed.
This still didn't quite cut it on an 11/23 because the callouts didn't
always get processed fast enough to detect the change in CD before the buffer
filled. I plan to call dzscan from dzxint every 16 interrupts or so, but
that's a kluge so I'm not publishing it.
diff dz.c dz.c.old
28d27
< int dzsoftCAR[NDZ11];
113d111
< dzsoftCAR[dev] = 0;
182c180
< if ( (tp->t_flags&RAW) || (tp->t_flags&LLITOUT) )
---
> if (tp->t_flags&RAW)
286c284
< if (flag == OFF) {
---
> if (flag==OFF)
288,290c286
< } else {
< dzaddr->dzdtr |= bit;
< }
---
> else dzaddr->dzdtr |= bit;
305,314c301,303
< if (dzsoftCAR[i] == 0) {
< if ( (tp->t_state&WOPEN)==0 &&
< (tp->t_local&LMDMBUF) ) {
< tp->t_state &= ~TTSTOP;
< ttstart(tp);
< } else {
< wakeup( (caddr_t)&tp->t_rawq );
< tp->t_state |= CARR_ON;
< }
< dzsoftCAR[i] = 1;
---
> if ((tp->t_state&CARR_ON)==0) {
> wakeup((caddr_t)&tp->t_rawq);
> tp->t_state |= CARR_ON;
317,323c306,309
< if (dzsoftCAR[i] == 1) {
< if ( (tp->t_state&WOPEN)==0 &&
< (tp->t_local&LMDMBUF) )
< tp->t_state |= TTSTOP;
< else if ( (tp->t_state&WOPEN)==0 &&
< (tp->t_local&LNOHANG)==0 ) {
< signal( tp->t_pgrp, SIGHUP );
---
> if ((tp->t_state&CARR_ON) &&
> (tp->t_local&LNOHANG)==0) {
> if (tp->t_state&ISOPEN) {
> signal(tp->t_pgrp, SIGHUP);
325,328c311,313
< flushtty( tp, FREAD|FWRITE );
< } else
< tp->t_state &= ~CARR_ON;
< dzsoftCAR[i] = 0;
---
> flushtty(tp, FREAD|FWRITE);
> }
> tp->t_state &= ~CARR_ON;
332c317
< timeout(dzscan, (caddr_t)0, 4);
---
> timeout(dzscan, (caddr_t)0, 120);
Jim Reuter
Technical Details
Message-ID:
<anews.Acincy.1109>Path:
arc1-ca.pugleaf.net!utzoo!decvax!harpo!zeppo!wheps!eagle!mhuxt!cbosg!cincy!jreuterShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!decvax!harpo!zeppo!wheps!eagle!mhuxt!cbosg!cincy!jreuter From: cincy!jreuter Newsgroups: net.bugs.2bsd Subject: LMDMBUF and LNOHANG with dz Date: Mon, 03 May 1982 08:28:35 +0000 Message-ID: <anews.Acincy.1109>