[erlang-questions] Intrusive function intercept

Tyron Zerafa <>
Thu Oct 10 10:54:05 CEST 2013


Yes, we can change the code of the *test* function and use messages;
however I was wondering whether there is another approach. Our idea is to
build a resource access control system which authorizes access to
resources. We came up with the following implementation options:
 1) change the Erlang/OTP libraries - ruled out (not an option)
 2) perform checks before each access - will have to change our current
code and add these checks
 3) using monitoring as described in the previous post - monitoring process
performs checks and only allow processes to proceed if they've got the
correct privilieges

Tyron


On Thu, Oct 10, 2013 at 10:02 AM, Tyron Zerafa <>wrote:

> Hi,
>
>     I would like to monitor a process and suspend the execution of certain
> functions to perform some other computation before. For instance consider a
> process A which executing the following simple function.
>
> test() ->
>     x(),
>     y(),
>     z().
>
> I would like to initiate a process, B, that monitors the execution of A.
> I want B to:
>   1) stop A before function y is executed
>   2) execute some logic
>   3) resumes the execution of A (by executing Y and Z)
>
> So far, I have been following this post<http://erlang.org/pipermail/erlang-questions/2003-January/006679.html>and managed to determine when the y() function call was being done, but
> cannot suspend its execution. Any ideas how I can achieve this?
>
> Thanks
> Tyron
>



-- 
Best Regards,
Tyron Zerafa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20131010/3b3d42e5/attachment.html>


More information about the erlang-questions mailing list