> > Wouldn't be the first error in POSIX. The documents have gotten > > sloppier. I think this is due to their commitee not acquiring any > > sensible young blood. > > fwiw, the "return zero and only zero" behavior traces back at least > as far as here (SUSv2, I think): > > http://pubs.opengroup.org/onlinepubs/7908799/xsh/gettimeofday.html > > so if it's an error it isn't a "new" error.
Hang on, you say behavior. Behavior is a quality of implementation. If you research back to the dawn of time, gettimeofday would return -1 and EFAULT because it uses a kernel function copyout(9) to do it's work, or maybe even earlier a pair of suword calls with the same error return. Implementation leads to that behavior. Did someone do it differently? Maybe, but developers need to know that passing an invalid pointer can result in an error return rather than some weird fault. The POSIX document is a descriptive document. It should describe the existing behavior to enhance compatibility. There are strategies for how one may describe a behavior: minimally or maximally, with impacts on readership in all directions. This instance shows they prefer to be minimally descriptive or dare I say it -- inaccurate by omission. They may have some goal in mind, but it still is inaccurate, and their justifications are kept largely secret. It is a secretive cabal, and don't point me to austin-group lists, it is nothing more than lipstick on a pig. When descriptive documents willfully describe a system incompletely, it makes it harder for software developers to consider them as a proscriptive or leading agency. Errors result.
