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 #73
Topic: ERROR numbers and additional actions Relevant Sections: 2.4
In section 2.4 [Error Numbers], lines 511-526 describe the abilities and restrictions of implementations regarding error detection. In particular, implementations "may generate errors included in this clause under circumstances other than those described in this clause, or may contain extensions or limitations that prevent some errors from occurring." Is it conforming to perform _additional_ actions upon detection of an error condition described in the Standard? For example, would it be conforming for an implementation, upon detecting a condition in write() calling for an error return and errno being set to EFBIG, to _also_ send a signal to the process? Many operating systems send a signal to a process performing a write() after having received an EFBIG for hitting the maximum file size limit. Is this conforming behavior?
Yes, the behavior is conforming, as long as it is described in the conformance documentation.
Rationale for Interpretation
The last paragraph of 22.214.171.124 Signal Generation and Delivery states: An implementation shall document any conditions not specified in this part of ISO/IEC 9945 under which the implementation generates signals. (See 126.96.36.199) This paragraph clearly states that an implementation may generate signals at times not described in this standard, as long as the conditions are described in the conformance documentation.