https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119258

            Bug ID: 119258
           Summary: All uses of relative timeouts should correctly handle
                    overflow in duration conversions
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
        Depends on: 113327
  Target Milestone: ---

This is the general case of Bug 113327. That one is specific to
this_thread::sleep_for but we have the same issue in other places where we
convert a relative timeout to chrono::seconds. If the original type has a
coarser duration than seconds, the value might overflow chrono::seconds::rep.

This affects timed mutexes, condition variables, futures ...


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113327
[Bug 113327] std::sleep_for(std::chrono::hours::max()) returns immediately

Reply via email to