<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 8, 2013 at 4:55 PM, Aliaksey Kandratsenka <span dir="ltr"><<a href="mailto:alkondratenko@gmail.com" target="_blank">alkondratenko@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>If we use erlang:now and time jumps backwards. We'll have time as seen by receive X -> X after AfterMillis -> ok end flow normally, but erlang:now will crawl. Which can be seen to cause same busy wait in timer server but just for much longer (i.e. until erlang:now overtakes os:timestamp where that "never go back" code path stops being hit and time flows normal again).</div>

<div><br></div></div></div></div></blockquote><div><br></div><div style>That should not happen.</div><div style><br></div><div style>Time correction means that the time returned by erlang:now/0</div><div style>(and most other time functions) will move one per cent slower</div>
<div style>or faster until the correct wall-clock time has been reached. The</div><div style>time used internally by 'receive after' will also use the corrected time.</div><div><br></div><div style>We have been thinking about documenting the time</div>
<div style>correction mechanism in one place, describing how it works and listing all</div><div style>time functions and whether they used the corrected time or not.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>I should have noted that in git comment but forgot.</div><div><br></div><div>Let me know if you need anything more from me. Like adjusted git comment.</div>
</div></div></div>
</blockquote></div> </div><div class="gmail_extra">I suggest that you change your patch to use erlang:now/0 and</div><div class="gmail_extra">verify that it solves the problem in your application.</div><div class="gmail_extra">
<br></div><div class="gmail_extra" style>Alternately, edit your commit message to give us *very* compelling</div><div class="gmail_extra" style>reasons why os:timestamp/0 would work better than erlang:now/0.</div><div class="gmail_extra" style>
<br></div><div class="gmail_extra" style>/Bjorn</div><div class="gmail_extra" style><br></div><div class="gmail_extra" style>-- <br></div><div class="gmail_extra">Björn Gustavsson, Erlang/OTP, Ericsson AB
</div></div>