home *** CD-ROM | disk | FTP | other *** search
- From: Donn Terry <donn@hpfcrn.fc.hp.com>
-
- (For string "is struct utimbuf...".)
-
- Don Heiby writes about the changes to utimbuf, with comments about
- the addition of microseconds, field ordering, and the use of a .h file.
-
- 1) The microseconds fields are present in some versions of UN*X, not in
- others. However, they ARE NOT present in POSIX. I believe you have
- confused implementation with specification. (I have the standard
- in front of me this instant, open to page 104.) (Watch out for
- ABIs, where the ordering IS important; however POSIX isn't and
- never will be an ABI.)
-
- 2) No-where in POSIX is there any specification about the order of fields
- in a structure. The members are just listed. Thus *if* microseconds
- were present, they could be moved around in various implementations.
-
- 3) My understanding is that make(1) can and does break in some systems if
- the access times are not of a finer resolution that seconds. This
- could be particularly true for a machine like an Amdahl, where the
- make of the kernel only takes about a minute.
-
- 4) It was recognized that hardcoding the utimbuf header was common practice.
- However, it was also recognized that portability of applications would
- NOT be served, because if a vendor wished to put in something like
- microseconds he could not do so unless the source for utimbuf was under
- his control, not the user's. This led to a lot of debate before it
- was done, but then the goal was portability of applications written to
- be portable, not to endorse every wierd possible implementation and
- variation. It was not expected that every existing program would
- suddenly become POSIX conforming. In this case, without the header,
- one of AT&T-derived or Berkeley-derived systems would have "lost".
- With the header, the application makes a straightforward change, and
- then it will run without modifications on both (presuming they're
- POSIX conformant) and the location of the microseconds field doesn't
- change.
-
- 5) Existing programs on existing systems, where the applicaiton doesn't
- "want" to be POSIX conformant can just ignore <utime.h>. Presumably
- the vendors provide backwards object (and source?) compatability
- to applications that used to run on that same implementation.
-
-
- Donn Terry, Chair 1003.1
- Usual disclaimer about these being my opinons, not IEEE's, P1003.1's,
- or HP's.
-
- Volume-Number: Volume 21, Number 5
-
-