Then going back to my original message, the order of case clauses doesn't sound right<div><div>{ok,{IP,Port,Answer}} -></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>    {ok,Answer,erlang:max(0, Timeout - now_ms(erlang:now(), Then))};</div>
<div>{ok,_} when Timeout =:= 0 -></div><div>        {error,timeout};</div><div><br></div><div><br></div><div>Cause even when the timeout is 0 now, now_ms/2 will be called with Then = undefined</div><div><br></div><div>
<meta charset="utf-8"><div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><span class="Apple-style-span" style="font-family: arial; font-size: small; border-collapse: separate; ">On Tue, Apr 12, 2011 at 1:51 PM, Raimo Niskanen <span dir="ltr"><<a href="mailto:raimo%2Berlang-bugs@erix.ericsson.se">raimo+erlang-bugs@erix.ericsson.se</a>></span> wrote:</span></div>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Tue, Apr 12, 2011 at 01:35:33PM +0200, Raimo Niskanen wrote:<br>
> On Tue, Apr 12, 2011 at 01:08:24PM +0200, Ahmed Omar wrote:<br>
> > Hmmm, the crash doesn't look to be in subtraction (otherwise it would have<br>
> > been badarg?),  it's a crash because of a function clause in now_ms (because<br>
> > undefined won't match)<br>
> > (and undefined looks to be generated only when timeout is 0 )<br>
><br>
> Well, I ment _conceptually_ subtract since now_ms/2 is supposed to<br>
> return the number of elapsed microseconds i.e subtract<br>
<br>
</div>Milliseconds. Sorry. That should be milliseconds.<br>
<div class="im"><br>
> its now() arguments, and now got 'undefined' instead<br>
> of {MegaSec,Sec,MicroSec) as second argumnent.<br>
><br>
> 'undefined' must be a leftover from an unfinished implementation<br>
> of either the case when you have timed out or when the<br>
> timeout is 'infinity'. Nevertheless it is incorrect.<br>
><br>
> The Timeout variable is how long time still remains to wait of the<br>
> initial user interface timeout.<br>
><br>
> ><br>
> > Maybe I'm missing something or my coffee doesn't work :)<br>
> ><br>
</div>: :<br>
<div><div></div><div class="h5">> > Follow me on twitter<br>
> > @spawn_think <<a href="http://twitter.com/#!/spawn_think" target="_blank">http://twitter.com/#!/spawn_think</a>><br>
><br>
> --<br>
><br>
> / Raimo Niskanen, Erlang/OTP, Ericsson AB<br>
> _______________________________________________<br>
> erlang-bugs mailing list<br>
> <a href="mailto:erlang-bugs@erlang.org">erlang-bugs@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/listinfo/erlang-bugs</a><br>
<br>
--<br>
<br>
/ Raimo Niskanen, Erlang/OTP, Ericsson AB<br>
_______________________________________________<br>
erlang-bugs mailing list<br>
<a href="mailto:erlang-bugs@erlang.org">erlang-bugs@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/listinfo/erlang-bugs</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Best Regards,<br>- Ahmed Omar<div><a href="http://nl.linkedin.com/in/adiaa" target="_blank">http://nl.linkedin.com/in/adiaa</a></div><div>Follow me on twitter</div>
<div><a href="http://twitter.com/#!/spawn_think" target="_blank">@spawn_think</a></div><br>
</div></div>