This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.

4193. §[time.zone.db] the specification uses the undefined term "thread-safe"

Section: 30.11.2 [time.zone.db] Status: New Submitter: S. B. Tam Opened: 2025-01-16 Last modified: 2025-01-18

Priority: Not Prioritized

View all issues with New status.

Discussion:

N5001 30.11.2.2 [time.zone.db.list] p3:

Synchronization: This operation is thread-safe with respect to reload_tzdb().

N5001 30.11.2.3 [time.zone.db.access] p2:

Synchronization: It is safe to call this function from multiple threads at one time.

N5001 30.11.2.4 [time.zone.db.remote] p3:

Synchronization: This function is thread-safe with respect to get_tzdb_list().front() and get_tzdb_list().erase_after().

The standard does not define what "thread-safe" means, which makes the meaning of these sentences unclear. Does it mean that "concurrent calls do not introduce data races", or does it additionally require a single total order on these operations? In either case, it should be specified clearly.

Proposed resolution: