From: Aaron W. L. <aar...@aa...> - 2007-01-22 02:26:09
|
Keith Marshall wrote: > These are the only requirements I see, for an open call to update any time > stamps; i.e. *only* in the specific cases of *creating* a new file, or > *truncating* an existing file, should the time stamps definitely be updated. In addition, see the section for write() where it requires the mtime update. > In all other cases the behaviour is unspecified, (which to me means that it > is permissable, but not mandatory, to leave the time stamps unchanged, so we > cannot rely on any particular behaviour). Neither SuS nor any other copy of IEEE 1003.1 available to me state that "the behavior is unspecified" in this case. I do not believe that the lack of a specific prohibition means that the behavior is unspecified, as POSIX does not typically state what a function does not do; that is, it states the behavior of functions in the positive, not the negative. However, I think that an implementation could update atime or mtime on open() as an extension to POSIX, which means that it would need to be explicitly documented--rather than a silent action, as in the case of unspecified behavior. In any case, I am not aware of any implementations that actually modify timestamps at open(), so this is probably mostly moot. :) |