[erlang-questions] How to clean up before termination...

tom kelly <>
Tue Mar 20 17:29:21 CET 2012


Hi Dawid,

You may have mis-read the documentation slightly, or else I misunderstand
your question.

If trap_exit is set to true then the terminate function is called when the
gen_server is shutting down, if it is false then the terminate function is
never called. All cleanup should be done in terminate, nowhere else.

Is this what you're asking?

//TTom.



On Tue, Mar 20, 2012 at 4:17 PM, Dawid Figiel <>wrote:

> Hi,
>
> There is a recommendation in Erlang doc, which is telling to set up
> the trap_exit to true in the gen_server:init, when want to do clean up
> before supervisor will terminate the gen_server.
>
>
> http://www.erlang.org/doc/design_principles/gen_server_concepts.html#id66567
>
> My question is:
> What for trap_exit has to be set to true when the clean up is needed?
>
> The place for doing some clean ups is under terminate function.
> We want to have trape_exit set to true when we need to handle 'EXIT'
> signals coming from linked processes to (for example) not crash
> gen_server.
>
> The only explanation for me is that the supervisor may crash too and
> send 'Exit' to gen_server as well... but this doesn't convince even
> myself.
>
> Has anyone some explanation for this advice ?
>
>
> Best,
>
> Dawid
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120320/4111eeae/attachment.html>


More information about the erlang-questions mailing list