What is "cheaper"?

Nalin Ranjan ranjanified@REDACTED
Thu Mar 25 13:59:38 CET 2021


On Thu, Mar 25, 2021, 5:44 PM Valentin Micic <v@REDACTED> wrote:

> Hi,
>
> Usually, when I use erlang:send_after/3, but no longer need the “ordered"
> event, I issue a corresponding erlang:cancel_timer/1 to stop this event
> from being raised.
>
> As an example, consider a following code snippet:
>
> ReqRef = make_ref(),
> SomeServerPid ! {request, {ReqRef, [arg1, arg2, . . ., argn]} ),
> Ref = erlang:send_after( 5000, self(), {cancel, ReqRef} ),
>
> receive
>    {ReqRef, some_reply}
>    ->
>        erlang:cancel_timer(Ref),
>        some_reply
>    ;
>    {cancel, ReqRef}
>    ->
>         “Request Timeout!”
> end
>
> This is what I usually do, because I believed that it would be more cost
> effective to cancel the timer than to ignore the message ordered by
> send_after/3.
> As I never really critically examined this claim, is there anyone that may
> have a different opinion regarding this.
>
> Put differently, ensuring that no memory leak is possible (due to general
> nature of the code handling messages), would it be “cheaper" to ignore the
> message
>

How do we *ignore* the messages?

generated by send_after/3 instead of canceling it?
>
> Kind regards
>
> V/
>


नमस्ते।
नलिन रंजन
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20210325/953794d7/attachment.htm>


More information about the erlang-questions mailing list