View Issue Details

IDProjectCategoryView StatusLast Update
00016361003.1(2016/18)/Issue7+TC2System Interfacespublic2024-06-11 09:07
Reportergeoffclare Assigned To 
PrioritynormalSeverityObjectionTypeError
Status ClosedResolutionAccepted 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Sectionpthread_sigmask()
Page Number1734
Line Number56226
Interp Status---
Final Accepted TextSee Desired Action
Summary0001636: pthread_sigmask() equivalence to sigprocmask()
DescriptionThe 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 ActionOn 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.

In a single-threaded process, the sigprocmask() function shall examine or change (or both) the signal mask of the calling thread.
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 if
to:
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].

Tagsapplied_after_i8d3, tc3-2008

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2023-02-23 11:57 geoffclare New Issue
2023-02-23 11:57 geoffclare Name => Geoff Clare
2023-02-23 11:57 geoffclare Organization => The Open Group
2023-02-23 11:57 geoffclare Section => pthread_sigmask()
2023-02-23 11:57 geoffclare Page Number => 1734
2023-02-23 11:57 geoffclare Line Number => 56226
2023-02-23 11:57 geoffclare Interp Status => ---
2023-03-13 15:39 nick Final Accepted Text => See Desired Action
2023-03-13 15:39 nick Status New => Resolved
2023-03-13 15:39 nick Resolution Open => Accepted
2023-03-13 15:40 nick Tag Attached: tc3-2008
2023-05-16 11:01 geoffclare Status Resolved => Applied
2023-05-16 11:02 geoffclare Tag Attached: applied_after_i8d3
2024-06-11 09:07 agadmin Status Applied => Closed