Answering questions that may arise related to the meaning of portions of an IEEE standard concerning specific applications.

IEEE Standards Interpretation for IEEE Std 1003.1™-1990 IEEE Standard for Information Technology--Portable Operating System Interfaces (POSIX®)

Copyright © 2001 by the Institute of Electrical and Electronics Engineers, Inc. 3 Park Avenue New York, New York 10016-5997 USA All Rights Reserved.

Interpretations are issued to explain and clarify the intent of a standard and do not constitute an alteration to the original standard. In addition, interpretations are not intended to supply consulting information. Permission is hereby granted to download and print one copy of this document. Individuals seeking permission to reproduce and/or distribute this document in its entirety or portions of this document must contact the IEEE Standards Department for the appropriate license. Use of the information contained in this document is at your own risk.

IEEE Standards Department Copyrights and Permissions 445 Hoes Lane, Piscataway, New Jersey 08855-1331, USA

Interpretation Request #8
Topic: file time update Relevant Sections: 2.3.5,

In 2.3.5 file times update [General Concepts], page 22, lines 470-475:
"An implementation may update fields that are marked for update immediately, it may update such fields periodically. When the fields are updated, they are set to the current time and the update marks are cleared. All fields that are marked for update shall be updated when the file is no longer open by any process, or when a stat() or fstat() is performed on the file. Other times at which updates are done are unspecified."

In Description [Set File Access and Modification Times], page 109, lines 894-895:
"The utime() function sets the access and modification times of the named file."

Neither the general description of file times update nor the description of the utime() function specifies the effect of the utime() function on fields already marked for update. May a conforming implementation update the fields again, after a call to the utime() function successfully returns, as a result of a previous action that caused the fields to be marked for update, with the effect of overwriting the values stored by the utime() function?

Interpretation Response
It is unspecified if an implementation might overwrite the values stored by utime() where such values are marked for update prior to the call to utime().

Rationale for Interpretation