The following issue has been SUBMITTED. ====================================================================== http://austingroupbugs.net/view.php?id=1282 ====================================================================== Reported By: joelsherrill Assigned To: ====================================================================== Project: 1003.1(2016)/Issue7+TC2 Issue ID: 1282 Category: System Interfaces Type: Clarification Requested Severity: Editorial Priority: normal Status: New Name: Joel Sherrill Organization: User Reference: Section: mqueue.h Page Number: NA - used web Line Number: NA - used web Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2019-08-23 16:19 UTC Last Modified: 2019-08-23 16:19 UTC ====================================================================== Summary: mqueue.h - pthread_attr_t is listed as defined but unclear why Description: Ref: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/mqueue.h.html
Issue: In mqueue.h, pthread_attr_t is listed as defined but there is no need for it as best I can see in the mqueue APIs. Is this just a cut and paste mistake? Response from Geoff Clare when asked on mailing list: "It's needed if you want to have mq_notify() do a SIGEV_THREAD notification. However, what's odd here is that mqueue.h is only required to declare struct sigevent as incomplete, so if you want to actually populate a struct sigevent you therefore need to include signal.h to get it properly defined -- in which case signal.h will define pthread_attr_t, so there is no need for mqueue.h to do it. So I think either mqueue.h should be required to define struct sigevent or it should not be required to define pthread_attr_t." Desired Action: There are multiple ways to resolve this but I think Geoff's suggestion of not requiring mqueue.h to define pthread_attr_t seems the simplest. It also is consistent with the example provided with mq_notify() that includes pthread.h. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2019-08-23 16:19 joelsherrill New Issue 2019-08-23 16:19 joelsherrill Name => Joel Sherrill 2019-08-23 16:19 joelsherrill Section => mqueue.h 2019-08-23 16:19 joelsherrill Page Number => NA - used web 2019-08-23 16:19 joelsherrill Line Number => NA - used web ======================================================================