Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P3072 R2 Hassle-free thread attributes #1733

Closed
wg21bot opened this issue Dec 19, 2023 · 6 comments
Closed

P3072 R2 Hassle-free thread attributes #1733

wg21bot opened this issue Dec 19, 2023 · 6 comments
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 C++26 Targeted at C++26 IS Ship vehicle: IS size - medium paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Dec 19, 2023

P3072R0 Hassle-free thread attributes (Zhihao Yuan)

@wg21bot wg21bot added the LEWG Library Evolution label Dec 19, 2023
@wg21bot wg21bot added this to the 2024-telecon milestone Dec 19, 2023
@inbal2l inbal2l added ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting IS Ship vehicle: IS labels Dec 19, 2023
@inbal2l
Copy link
Collaborator

inbal2l commented Dec 19, 2023

Related to P2019 (#817), P3022 (#1683)

@inbal2l inbal2l added B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 size - medium paper size estimate C++26 Targeted at C++26 labels Dec 19, 2023
@inbal2l inbal2l added the ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list label Jan 5, 2024
@wg21bot
Copy link
Collaborator Author

wg21bot commented Feb 16, 2024

P3072R1 Hassle-free thread attributes (Zhihao Yuan)

@wg21bot wg21bot changed the title P3072 R0 Hassle-free thread attributes P3072 R1 Hassle-free thread attributes Feb 16, 2024
@inbal2l inbal2l added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Feb 16, 2024
@ednolan
Copy link

ednolan commented Feb 20, 2024

A feedback round was started on the mailing list on Feb 19, 2024.
https://lists.isocpp.org/lib-ext/2024/02/26689.php

Summary:

  • Reviewers discussed the ABI stability and extensibility of the proposed std::thread::attributes class.
    • A reviewer expressed strong opposition to standardizing a thread attributes facility that did not provide a path forward for standardizing additional attributes in the future.
    • The author responded that new attributes could be standardized by adding a new class which would be extended to contain both the original and the new attributes.
    • A reviewer opined that handling future attribute proposals by adding a new class with a larger set of attributes was proposed in the context of P3022 and rejected by LEWG.
    • The author responded that while P3022 was rejected, the question of adding new classes was not specifically polled, and the committee members that rejected P3022 may not have objected to that aspect.
    • A reviewer disputed that P3022 involved adding new classes, since future attributes could be standardized by adding new setters to the existing attributes class.
  • Reviewers discussed how the proposal handles vendored thread attributes.
    • A reviewer criticized the fact that, since the proposal doesn't provide a way to pass multiple sets of attributes, vendored thread attributes need to be a superset of the standard attributes.
    • The author responded that passing both standard and vendored thread attributes classes leaves open the possibility that the implementation might ignore the non-vendored thread attributes.
  • Reviewers discussed the use of an aggregate class and the practice of using designated initializers.
    • A reviewer claimed that designated initializers are unfamiliar to C++ developers because they weren't standardized until C++20.
    • The author replied that, even before 2016, C++ developers would have been likely to have encountered them, either in C code, or in C++ code that implemented designated initializers as a compiler extension.
    • A reviewer opined that designated initializers are hard to use because the initializers must be specified in a specific, arbitrary order.
    • The author replied that a good quality compiler will explain how to fix the problem in its diagnostic.
    • A reviewer predicted that users were likely to initialize the thread attributes aggregate without using designated initializers, based on their greater familiarity with that method, and that leaving them out would reduce clarity.
    • The author replied that doing so is an intended use case.

The paper is scheduled for Tokyo.

@ednolan ednolan removed the ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list label Mar 11, 2024
@ben-craig
Copy link
Collaborator

2024-03-18 Library Evolution Tokyo

P3072R2: Hassle-free thread attributes

2024-03-18 Library Evolution Tokyo Minutes

Champion: Zhihao Yuan
Chair: Ben Craig
Minute Taker: Guy Davidson

Summary

POLL: We should promise more committee time to pursuing "Hassle-free thread attributes", knowing that our time is scarce and this will leave less time for other work.

SF WF N WA SA
2 7 6 11 3

Attendance: 27+12

# of Authors: 1

Author Position: SF

Outcome: No consensus

Comments:

Next Steps

Closing

@inbal2l inbal2l removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review LEWG Library Evolution labels Mar 21, 2024
@wg21bot
Copy link
Collaborator Author

wg21bot commented Apr 17, 2024

P3072R2 Hassle-free thread attributes (Zhihao Yuan)

@wg21bot wg21bot changed the title P3072 R1 Hassle-free thread attributes P3072 R2 Hassle-free thread attributes Apr 17, 2024
@wg21bot wg21bot reopened this Apr 17, 2024
@cor3ntin
Copy link

R2 was reviewed in Tokyo - #1733 (comment)
(Reclosing)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 C++26 Targeted at C++26 IS Ship vehicle: IS size - medium paper size estimate
Projects
Development

No branches or pull requests

5 participants