Austin Group Defect Tracker

Aardvark Mark IV


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 2023-05-16 11:01
Reporter geoffclare View Status public  
Assigned To
Priority normal Resolution Accepted  
Status Applied  
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.

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].

Tags applied_after_i8d3, tc3-2008
Attached Files

- Relationships

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


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker