A NOTE has been added to this issue. ====================================================================== http://austingroupbugs.net/view.php?id=1143 ====================================================================== Reported By: dstaesse Assigned To: ====================================================================== Project: 1003.1(2016)/Issue7+TC2 Issue ID: 1143 Category: Base Definitions and Headers Type: Clarification Requested Severity: Comment Priority: normal Status: New Name: Dimitri Staessens Organization: User Reference: Section: 2.9.5 Page Number: 520 Line Number: 18219-18223 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2017-06-14 13:59 UTC Last Modified: 2017-06-20 10:31 UTC ====================================================================== Summary: cancellation points: contradiction between base definition and rationale ======================================================================
---------------------------------------------------------------------- (0003793) dstaesse (reporter) - 2017-06-20 10:31 http://austingroupbugs.net/view.php?id=1143#c3793 ---------------------------------------------------------------------- That's an interesting reference. I think the phrase "A cancellation point will also occur in the following functions if the function causes the thread to block:" is not correct when applied to the current specification. It was correct when there was a clause that cancellation would only occur when the cancellation point blocks indefinitely. So indeed, a statement that these functions may cancel the thread if they are implemented using a cancellation point from the "shall occur" list is a very useful clarification to add. If they are implemented using a cancellation point, disabling the cancellation state might lead to hanging threads, so I wouldn't support removing them as possible cancellation points. It looks to me that, at some point, there was a choice to prioritise cancellation (and actually enforce it) over returning and continuing the thread execution. (Is there an easy way to go through the revision history to pinpoint that change?) Issue History Date Modified Username Field Change ====================================================================== 2017-06-14 13:59 dstaesse New Issue 2017-06-14 13:59 dstaesse Name => Dimitri Staessens 2017-06-14 13:59 dstaesse Section => 2.9.5 2017-06-14 13:59 dstaesse Page Number => 520 2017-06-14 13:59 dstaesse Line Number => 18219-18223 2017-06-14 14:25 terekhov Note Added: 0003760 2017-06-15 18:49 dstaesse Note Added: 0003765 2017-06-17 12:17 dstaesse Note Added: 0003783 2017-06-19 09:04 terekhov Note Added: 0003784 2017-06-20 03:50 dstaesse Note Added: 0003790 2017-06-20 09:59 terekhov Note Added: 0003792 2017-06-20 10:31 dstaesse Note Added: 0003793 ======================================================================