<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Issue 1158: Encouragement to use monotonic clock</title>
<meta property="og:title" content="Issue 1158: Encouragement to use monotonic clock">
<meta property="og:description" content="C++ library issue. Status: C++11">
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue1158.html">
<meta property="og:type" content="website">
<meta property="og:image" content="http://cplusplus.github.io/LWG/images/cpp_logo.png">
<meta property="og:image:alt" content="C++ logo">
<style>
  p {text-align:justify}
  li {text-align:justify}
  pre code.backtick::before { content: "`" }
  pre code.backtick::after { content: "`" }
  blockquote.note
  {
    background-color:#E0E0E0;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 1px;
    padding-bottom: 1px;
  }
  ins {background-color:#A0FFA0}
  del {background-color:#FFA0A0}
  table.issues-index { border: 1px solid; border-collapse: collapse; }
  table.issues-index th { text-align: center; padding: 4px; border: 1px solid; }
  table.issues-index td { padding: 4px; border: 1px solid; }
  table.issues-index td:nth-child(1) { text-align: right; }
  table.issues-index td:nth-child(2) { text-align: left; }
  table.issues-index td:nth-child(3) { text-align: left; }
  table.issues-index td:nth-child(4) { text-align: left; }
  table.issues-index td:nth-child(5) { text-align: center; }
  table.issues-index td:nth-child(6) { text-align: center; }
  table.issues-index td:nth-child(7) { text-align: left; }
  table.issues-index td:nth-child(5) span.no-pr { color: red; }
  @media (prefers-color-scheme: dark) {
     html {
        color: #ddd;
        background-color: black;
     }
     ins {
        background-color: #225522
     }
     del {
        background-color: #662222
     }
     a {
        color: #6af
     }
     a:visited {
        color: #6af
     }
     blockquote.note
     {
        background-color: rgba(255, 255, 255, .10)
     }
  }
</style>
</head>
<body>
<hr>
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#C++11">C++11</a> status.</em></p>
<h3 id="1158"><a href="lwg-defects.html#1158">1158</a>. Encouragement to use monotonic clock</h3>
<p><b>Section:</b> 32.2.4 <a href="https://wg21.link/thread.req.timing">[thread.req.timing]</a> <b>Status:</b> <a href="lwg-active.html#C++11">C++11</a>
 <b>Submitter:</b> LWG <b>Opened:</b> 2009-06-28 <b>Last modified:</b> 2016-01-28</p>
<p><b>Priority: </b>Not Prioritized
</p>
<p><b>View all other</b> <a href="lwg-index.html#thread.req.timing">issues</a> in [thread.req.timing].</p>
<p><b>View all issues with</b> <a href="lwg-status.html#C++11">C++11</a> status.</p>
<p><b>Discussion:</b></p>

<p><b>Addresses UK 322, US 96</b></p>

<p><b>Description</b></p>
        <p>Not all systems
        can provide a monotonic clock. How are they expected to
        treat a _for function?</p>
<p><b>Suggestion</b></p>
        <p>Add at least a note explaining the intent
        for systems that do not support a monotonic clock.</p>

<p><b>Notes</b></p>
<p>Create an issue, together with UK 96. Note that the specification as is 
    already allows a non-monotonic clock due to the word &#8220;should&#8221; rather than 
    &#8220;shall&#8221;. If this wording is kept, a footnote should be added to make the 
    meaning clear.</p>

<p><i>[ 2009-06-29 Beman provided a proposed resolution. ] </i></p>

<p><i>[
2009-10-31 Howard adds:
]</i></p>


<blockquote><p>
Set to Tentatively Ready after 5 positive votes on c++std-lib.
</p></blockquote>

<p><i>[
2010-02-24 Pete moved to Open:
]</i></p>


<blockquote><p>
LWG 1158's proposed resolution replaces the ISO-specified normative term
"should" with "are encouraged but not required to", which presumably means the
same thing, but has no ISO normative status. The WD used the latter formulation
in quite a few non-normative places, but only three normative ones. I've changed
all the normative uses to "should".
</p></blockquote>

<p><i>[
2010-03-06 Beman updates wording.
]</i></p>


<p><i>[
2010 Pittsburgh:  Moved to Ready.
]</i></p>




<p id="res-1158"><b>Proposed resolution:</b></p>

<p><i>Change Timing specifications 32.2.4 <a href="https://wg21.link/thread.req.timing">[thread.req.timing]</a> as indicated:</i></p>

<p>
The member functions whose names end in <code>_for</code> take an argument that
specifies a relative time. Implementations should use a monotonic clock to
measure time for these functions.  <ins>[<i>Note:</i> Implementations are not
required to use a monotonic clock because such a clock may be unavailable.
&mdash; <i>end note</i>]</ins>
</p>






</body>
</html>
