home *** CD-ROM | disk | FTP | other *** search
- From: andrew@lemming.gwd.tek.com (Andrew Klossner)
-
- [With regard to programs that inadvertantly do close(-1):]
-
- "Programs that are not that pessimistic are broken. I see no
- reason to reject this proposal out of hand merely because it
- would expose bugs in programs such as these ..."
-
- One of the major goals of a standardization effort is to "do no harm":
- not to invalidate facilities which are commonly available and upon
- which many programs may depend (even if such dependence is
- inadvertant). The requested facility, to close all open files, could
- just as easily be implemented with a new function, e.g., "closeall()".
- There is no reason to go out of our way to overload an existing
- function, one whose semantics have been fixed for over a decade.
-
- A much more extreme example of this philosophy appears when Unix
- vendors go out of their way to place zeros at location 0, so that
- programs developed on VAXes which "expect" to find 0 when dereferencing
- a 0 pointer will work. No, I'm not suggesting that POSIX or X3J11
- mandate this, but vendors such as my employer do this for marketability
- reasons. Imagine that a potential customer has one of my workstations
- and one of yours; on yours their VAX application compiles and runs just
- fine, while on mine it crashes with "bus error". No amount of my
- explaining that their program shouldn't dereference a null pointer is
- going to get me the sale unless my machine stands out in other ways.
-
- -=- Andrew Klossner (decvax!tektronix!tekecs!andrew) [UUCP]
- (andrew%tekecs.tek.com@relay.cs.net) [ARPA]
-
- Volume-Number: Volume 11, Number 83
-
-