View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0001132 | 1003.1(2016/18)/Issue7+TC2 | System Interfaces | public | 2017-03-24 23:45 | 2024-06-11 09:09 | 
| Reporter | yousong | Assigned To | ajosey | ||
| Priority | normal | Severity | Editorial | Type | Clarification Requested | 
| Status | Closed | Resolution | Accepted As Marked | ||
| Name | Yousong Zhou | ||||
| Organization | |||||
| User Reference | |||||
| Section | pthread_sigmask | ||||
| Page Number | 1735 | ||||
| Line Number | 56259 | ||||
| Interp Status | --- | ||||
| Final Accepted Text | See 0001132:0004124. | ||||
| Summary | 0001132: Whether the 'how' argument must be one of the three defined value should be clarified | ||||
| Description | The ERRORS section says it "shall fail if: [EINVAL] The value of the how argument is not equal to one of the defined values. But earlier in the page in DESCRIPTION section, it also says If set is a null pointer, the value of the argument how is not significant and the thread's signal mask shall be unchanged; which is not clear whether 'how' is still required to be a defined value, or any value will do. | ||||
| Desired Action | Clarify in the document about acceptable values of the 'how' argument when 'set' is NULL.  Specifically, what is the expected return value of the following function call pthread_sigmask(0, NULL, &oset); | ||||
| Tags | tc3-2008 | ||||
|  | Any value will do. The shall fail test for EINVAL occurs after checking for set being NULL, by use of the "not significant" phrasing. The conforming return is 0 for the example in the desired action, whether oset is a reference or NULL, in keeping with use of the interface as a reporting only function. When set and oset are both NULL the interface just wastes some processor cycles. The first call returns in oset the mask inherited from the pthread_create() call, so there is no "No old mask to return" error. Other return values are plausible as platform dependent extensions, but those would be for the platform to document, not the standard. | 
|  | The current text requires failure with EINVAL if how is not SIG_BLOCK, SIG_SETMASK, SIG_UNBLOCK. If that's not the intended behaviour then the text must change. | 
|  | It would make it clearer to change it to a 'may fail' from 'shall fail', that's all I see. The 'shall return 0 upon success' part of Return Value I see as overriding the 'shall fail' part of the Errors section already so changing it isn't entirely a must, as simply getting the old mask can always succeed. For the example, a 0 or other arbitrary number might be the numerical value for one of the how constants, after all. A missing 'may fail' error, for sigprocmask(), is detecting it isn't being called by the main thread of a process on an attempt to change the mask. This is left unspecified; to me the relationship to _POSIX_THREADS options being in effect during a compile could be clearer. Another 'may fail' one, on implementations supporting RTTI, for both is ENOBUFS, for the corner case of using (0,NULL,(sigset_t *)-1) as the arguments. Just because the old mask always can be retrieved doesn't mean it can be stored successfully, iow. | 
|  | On P1735, L56259 (2016 edition) in the pthread_sigmask() ERRORS section, change: The value of the how argument is not equal to one of the defined values. to: The set argument is not a null pointer and the value of the how argument is not equal to one of the defined values. | 
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 2017-03-24 23:45 | yousong | New Issue | |
| 2017-03-24 23:45 | yousong | Status | New => Under Review | 
| 2017-03-24 23:45 | yousong | Assigned To | => ajosey | 
| 2017-03-24 23:45 | yousong | Name | => Yousong Zhou | 
| 2017-03-24 23:45 | yousong | Section | => pthread_sigmask | 
| 2017-03-24 23:45 | yousong | Page Number | => 42 | 
| 2017-03-24 23:45 | yousong | Line Number | => 42 | 
| 2017-03-25 07:53 | shware_systems | Note Added: 0003651 | |
| 2017-03-25 11:52 | nsz | Note Added: 0003652 | |
| 2017-03-25 21:00 | shware_systems | Note Added: 0003653 | |
| 2018-09-13 15:24 | Don Cragun | Note Added: 0004124 | |
| 2018-09-13 15:25 | Don Cragun | Interp Status | => --- | 
| 2018-09-13 15:25 | Don Cragun | Final Accepted Text | => See 0001132:0004124. | 
| 2018-09-13 15:25 | Don Cragun | Status | Under Review => Resolved | 
| 2018-09-13 15:25 | Don Cragun | Resolution | Open => Accepted As Marked | 
| 2018-09-13 15:25 | Don Cragun | Tag Attached: tc3-2008 | |
| 2018-09-13 15:26 | Don Cragun | Page Number | 42 => 1735 | 
| 2018-09-13 15:26 | Don Cragun | Line Number | 42 => 56259 | 
| 2018-09-13 15:27 | Don Cragun | Project | 1003.1(2008)/Issue 7 => 1003.1(2016/18)/Issue7+TC2 | 
| 2019-10-31 11:41 | geoffclare | Status | Resolved => Applied | 
| 2024-06-11 09:09 | agadmin | Status | Applied => Closed | 
