Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B UNSW 1.0 3/14/84; site qfdts.oz Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!munnari!basser!uqcspe!qfdts!phil From: phil@qfdts.oz (Phil Chadwick) Newsgroups: net.bugs.usg Subject: Re: Horrible ugliness in V.2 readi/writei. Message-ID: <51@qfdts.oz> Date: Tue, 30-Jul-85 01:41:34 EDT Article-I.D.: qfdts.51 Posted: Tue Jul 30 01:41:34 1985 Date-Received: Wed, 31-Jul-85 20:22:46 EDT References: <150@neology.OZ> Organization: Department of Forestry, Brisbane, Australia Lines: 29 In article <150@neology.OZ> chris@neology.OZ (Chris Maltby) says: >The problem turned out to be this >revolting code in the 5.2 readi/writei code: > > if (cdevsw[major(dev)].d_tty != NULL) > { > tp = &cdevsw[major(dev)].d_tty[minor(dev)]; > (*linesw[tp->t_ldisc].l_write)(tp); > } > else > (*cdevsw[major(dev)].d_write)(minor(dev)); > >This part of the system has no right to assume what the code in a >driver's read/write routine does, even if it seems to be a tty driver. Here, here! I tripped over this some time ago while writing a pseudo dn11 driver. Code put into the tty's write routine did nothing (not surprising - once you realise it's being bypassed). To the best of my recollection it's been there since the very first System V release. ---- Phil Chadwick Australia: (07) 2296500 Department of Forestry International: +61 7 2296500 PO Box 5 ACSnet: phil@qfdts.oz Brisbane, Roma Street ARPA: decvax!mulga!qfdts.oz!phil@UCB-VAX.ARPA AUSTRALIA 4001 UUCP: {decvax,vax135,eagle,pesnta}!mulga!qfdts.oz!phil