Comments on P1003.1m/D1.3 Dated October 1997 Comments prepared: July 1998 Submitter: Andrew Josey ---------------------------------------------------------------------- @ Page 0 Section 0 objection Problem: We need to follow the namespace rules for functions and macros. The following changes need to be made globally to this draft. Action: Add into clause 2.4 after POSIX.1-1996 line 786: Change all function names with the prefix "ckpt_" to "posix_ckpt_" i.e. ckpt_restart() becomes posix_ckpt_restart() Change all constant/macro names with the prefix "CKPT_" to "POSIX_CKPT_" so on page 6 section 3.5.1 CKPT_ID -> POSIX_CKPT_ID CKPT_LOCK -> POSIX_CKPT_LOCK CKPT_SIGNAL -> POSIX_CKPT_SIGNAL etc Consider changing the header file name from to ---------------------------------------------------------------------- @ Page 3 Section 2.4 objection Problem: We need to make it clear that these additional error numbers need only be provided if the Process Checkpoint and Restart option is supported. Action: Add into clause 2.4 after POSIX.1-1996 line 786: "Support for some error numbers is dependent on implementation options. Where an implementation option is not supported the symbolic name for that error number need not be found in the header ." The optional errors need to be broken out into a section at the end of 2.4, for example for this draft amendment: "If the Process Checkpoint and Restart option is supported, then the following symbolic names for error numbers are provided: [ECKPT] ...... [EDEADFD] ...... Otherwise: Either the implementation shall support the symbolic names as described above, or they shall not be provided." ---------------------------------------------------------------------- @ Page 4 Section 2.7.2 POSIX.1 Symbols objection Problem: The header should use the reserved prefixes posix_ POSIX_ _POSIX_ This removes the need to reserve ckpt_ or CKPT_ Action: Delete the proposed amendment to section 2.7.2. ---------------------------------------------------------------------- @ Page 4 Section 2.7.3 objection Problem: The draft amendment omits a change to section 2.7.3. It needs to list the functions present in the header . However section 2.7.3 needs to be amended to denote the optionality of certain features being present. Action: Add a section for the header enumerating the functions/protypes present. Change clause 2.7.3 , POSIX.1-1996 line 146 "prototypes or declarations shall appear in the headers listed below. Presence of some prototypes or declarations is dependent on implementation options. Where an implementation option is not supported the prototype or declaration need not be found in the header." ---------------------------------------------------------------------- @ Page 5 Section 3.2.1.2 Wait for Process Termination objection Problem: The additional macros need to be conditional on the support of the implementation option. Action: Add after POSIX.1-1996 section 3.2.1.2 line 405 "If the Process Checkpoint and Restart option is supported, then the following macros are provided: WIFCKPT(stat_val) .... WIFRESTART(stat_val) .... WNEWPID(stat_val) .... Otherwise: Either the implementation shall support the macros as described above, or they shall not be provided." ---------------------------------------------------------------------- @ Page 5 Section 3.5 Process Checkpoint and Restart Option Problem: In the synopsis we need to make it clear that these functions are optional - that implementations need not supply the header or the function prototypes - and that programmers should be aware of the appropriate feature test macro to test for support. Without this application programs could fail to compile. There's an argument that this goes against the style of previous amendments to date, and that is true, however the stubs policy of amendments to date has been part of the problem, and doing it this way will achieve the goal of preserving backwards compatibility. Action: Change the function synopsis to as follows: #include #ifdef _POSIX_CKPT #include int posix_ckpt_setup ( struct posix_ckpt_args *args[]. size_t nargs); #endif Apply similar changes to 3.5.2.1, 3.5.3.1, 3.5.4.1, 3.5.5.1 ---------------------------------------------------------------------- @ Page 8 Section 3.5.3.2 objection Problem: Use of the symbols P_PID , P_PGID, P_SID, P_MYID is namespace pollution. Action: Change the occurrences of the prefix "P_" to "POSIX_CKPT_", for example P_PID -> POSIX_CKPT_P_PID . ------------------------------END OF COMMENTS--------------------------------