Anonymous | Login | 2024-10-14 23:51 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0001636 | [1003.1(2016/18)/Issue7+TC2] System Interfaces | Objection | Error | 2023-02-23 11:57 | 2024-06-11 09:07 | ||
Reporter | geoffclare | View Status | public | ||||
Assigned To | |||||||
Priority | normal | Resolution | Accepted | ||||
Status | Closed | ||||||
Name | Geoff Clare | ||||||
Organization | The Open Group | ||||||
User Reference | |||||||
Section | pthread_sigmask() | ||||||
Page Number | 1734 | ||||||
Line Number | 56226 | ||||||
Interp Status | --- | ||||||
Final Accepted Text | See Desired Action | ||||||
Summary | 0001636: pthread_sigmask() equivalence to sigprocmask() | ||||||
Description |
The description of pthread_sigmask() says it is equivalent to sigprocmask() except for the single-thread restriction. This omits the exception that the error return convention is different. In RETURN VALUE there is a clause for sigprocmask() that is both redundant and incorrect: "and the signal mask of the process shall be unchanged". (It is redundant because of line 56250, and incorrect because "process" should be "thread".) Also, in ERRORS, the statement: The pthread_sigmask() function shall not return an error code of [EINTR].is made for pthread_sigmask(), whereas all other requirements that rely on the equivalence in order to apply to both functions are stated for sigprocmask(). It could be changed to sigprocmask(), but given that the first line of the section is: The pthread_sigmask() and sigprocmask() functions shall fail if:it would be better to switch to the usual convention of saying "these functions" in the ERRORS section. Finally, rather than fix these problems by the minimum necessary changes, the description would read better if it is rearranged to describe pthread_sigmask() first and then sigprocmask(). |
||||||
Desired Action |
On page 1734 line 56225 section pthread_sigmask(), change:The pthread_sigmask() function shall examine or change (or both) the calling thread's signal mask, regardless of the number of threads in the process. The function shall be equivalent to sigprocmask(), without the restriction that the call be made in a single-threaded process.to: The pthread_sigmask() function shall examine or change (or both) the calling thread's signal mask. On page 1734 line 56243-56250 section pthread_sigmask(), change (3 occurrences): sigprocmask()to: pthread_sigmask() On page 1734 line 56251 section pthread_sigmask(), change: The use of the sigprocmask() function is unspecified in a multi-threaded process.to: The sigprocmask() function shall be equivalent to pthread_sigmask(), except that its behavior is unspecified if called from a multi-threaded process, and on error it returns -1 and sets errno to the error number instead of returning the error number directly. On page 1734 line 56255 section pthread_sigmask(), change: otherwise, -1 shall be returned, errno shall be set to indicate the error, and the signal mask of the process shall be unchanged.to: otherwise, -1 shall be returned and errno shall be set to indicate the error. On page 1735 line 56258 section pthread_sigmask(), change: The pthread_sigmask() and sigprocmask() functions shall fail ifto: These functions shall fail if On page 1735 line 56260 section pthread_sigmask(), change: The pthread_sigmask() function shall not return an error code of [EINTR].to: These functions shall not return an error code of [EINTR]. |
||||||
Tags | applied_after_i8d3, tc3-2008 | ||||||
Attached Files | |||||||
|
There are no notes attached to this issue. |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |