Semantic Monitors: a proposal
Michael Truog
mjtruog@REDACTED
Wed Feb 17 11:28:09 CET 2021
On 2/17/21 2:03 AM, Lukas Larsson wrote:
>
>
> On Wed, Feb 17, 2021 at 10:34 AM Viktor Söderqvist
> <viktor@REDACTED <mailto:viktor@REDACTED>> wrote:
>
> Hello!
>
> On 2021-02-17 08:07, Lukas Larsson wrote:
> > You are in luck!
> >
> > PR-2735[1] aka EEP-53[2] adds erlang:monitor/3[3] which can be
> used to
> > do what you want. It will be released in Erlang/OTP 24.
> >
> > [1]: https://github.com/erlang/otp/pull/2735
> > [2]: https://github.com/erlang/eep/blob/master/eeps/eep-0053.md
> > [3]:
> >
> https://erlang.org/~rickard/OTP-16718/erts-11.1.1/doc/html/erlang.html#monitor-3
>
>
> Nice! But Michael's use case would require an extra monitor option.
>
> On 2/16/21 1:14 PM, Michael Truog wrote:
> > If it was possible to provide the data as a string, like
> > "erlang:monotonic_time()" to get evaluated when the DOWN message
> > is created, that would make me happy though it may seem like an
> > odd approach that adds extra latency (it could be a separate
> option).
>
> For example {tag_fun, fun() -> {'DOWN', erlang:monotonic_time()}
> end} or
> so, to create the tag at the time of demotinor time. I suppose there
> will still be a short time between the death of the process and the
> creation of the tag though.
>
>
> I don't think we want to enable executing code in the context of an
> already dead or dying process. What happens if the code does a
> gen_server:call? What happens if it does gen_server:enter_loop? Could
> a process be resurrected?
>
> There are also a lot of assumptions within the VM that a dead process
> does not execute code, so it would a lot of work to do.
Is there interest in adding the native monotonic time to the monitor
DOWN message due to a separate option? It should be beneficial to have
a more accurate time-of-process-death value than is currently possible
when the DOWN message is received.
Best Regards,
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20210217/511a9e1a/attachment.htm>
More information about the erlang-questions
mailing list