microsoft / microsoft/STL

LWG-3504 `condition_variable::wait_for` is overspecified

Open
#6,201 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

LWG
Dominant language
C++
Stars
11.1k
Forks
1.7k
Avg merge
4d 15h
Merged PRs (30d)
22

Description

LWG-3504 condition_variable::wait_for is overspecified

We have _To_absolute_time(), but I don't immediately know whether it conforms to this LWG issue's resolution. This has been a notoriously tricky area for us to get right.

https://github.com/microsoft/STL/blob/da06be8fa38418772506328177b703b28ca75699/stl/inc/thread#L166-L180

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced _To_absolute_time() implementation in stl/inc/thread at lines 166-180 and compare its behavior with the LWG-3504 resolution. Determine whether condition_variable::wait_for follows that resolution, then document or correct the implementation so the behavior is no longer overspecified.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.