Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mulga.SUN Path: utzoo!watmath!clyde!akgua!mcnc!decvax!mulga!kre From: kre@mulga.SUN (Robert Elz) Newsgroups: net.unix-wizards Subject: Re: Sigstack and BSD 4.2 Message-ID: <234@mulga.SUN> Date: Sun, 18-Mar-84 03:24:39 EST Article-I.D.: mulga.234 Posted: Sun Mar 18 03:24:39 1984 Date-Received: Mon, 19-Mar-84 07:27:38 EST References: <147@celerity.UUCP>, <237@basser.SUN> Organization: Comp Sci, Melbourne Uni, Australia Lines: 26 One answer as to why has already appeared on the net. There are times when such things (exotic as they may seem) really are essential. There were no intentional changes to awk in 4.2 - there was a bug fix that went wrong. Bill Shannon has already posted a fix to that bug. The _filbuf change was a bug fix. I suspect (but haven't investigated) that its the same in system V. My reason for suspecting that, is that in the Kernighan/Pike unix book they use 'read(2)' in their 'tail -f' program (sorry I've forgotten what they called that, I know it most definitely wasn't 'tail -f') - their rationale is that once you've had EOF from stdio, you will continue to get EOF from future reads. That's exactly the way it is in 4.2 - which wasn't available at the time Kernighan/Pike were writing their book. (Maybe its 5.2, or even 5.3 that has this fixed at Bell though) Finally, I don't think that it really needs stating, that no-one should use any of the new low level stuff in 4.2 unless you really need to. Continue doing things the old way, using the library routines. Obviously portability is important. However, its nice to know, that on the odd occasion when the old way simply isn't good enough, that there's a new way, there ready for you to use - you don't have to wait till someone else thinks of it or start hacking yourself. Robert Elz