<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 9, 2013 at 3:00 AM, Björn Gustavsson <span dir="ltr"><<a href="mailto:bgustavsson@gmail.com" target="_blank">bgustavsson@gmail.com</a>></span> wrote:<br>
<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"><br><div class="gmail_quote"><div class="im">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><div>That should not happen.</div><div><br></div><div>Time correction means that the time returned by erlang:now/0</div><div>(and most other time functions) will move one per cent slower</div>

<div>or faster until the correct wall-clock time has been reached. The</div><div>time used internally by 'receive after' will also use the corrected time.</div><div><br></div><div>We have been thinking about documenting the time</div>

<div>correction mechanism in one place, describing how it works and listing all</div><div>time functions and whether they used the corrected time or not.</div></div></div></div></blockquote><div><br></div><div style>Thanks for pointing this out. Indeed I don't know how I managed but I misread the code.</div>
<div style><br></div><div style>I've updated patch to use erlang:now instead of os:timestamp.</div><div style><br></div></div></div></div>