1003.1 section 8.2.3

Moderator, John S. Quarterman std-unix at longway.TIC.COM
Thu Aug 10 10:49:54 AEST 1989


From: apple!cs.utexas.edu!ucsd.edu!hp-sdd!hpfcdc.HP.COM!donn (Donn Terry)


Doug's explanation is right; in simple English it says that you have
to let go of one handle (properly) before taking up the next.  It puts
a requirement on the implementation to assure that in fact you can let
go of one properly, and a requirement on the user that it be done this way.

Many existing implementations made it impossible to do this because the
"let go" semantics were not there, and several (nameless) pieces of
well-known software butchered or worked around stdio (or provided their
own) because of this problem.  The ballot objection upon which this change
was based came from the author of one of these (nameless) programs.

Granted, it's not in English itself; to be precise enough to plug all the
holes that we found in trying to write it, it ended up looking like something
a lawyer would choke on.

As in writing programs, you can't always kick back and say "DWIM" ("do
what I mean") in a standard.  (Part of the problem here is that everyone
THINKS they know what stdio does, and most implementations didn't do it.)

Donn Terry
Chair 1003.1

These opinions are my own and in no way represent an official position on
the meaning of 1003.1.  (That to keep the lawyers happy.)

Volume-Number: Volume 16, Number 63



More information about the Comp.std.unix mailing list