Hi Dawid,<br>
<br>
You may have mis-read the documentation slightly, or else I misunderstand your question.<br>
<br>
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.<br>
<br>Is this what you're asking?<br><br>
//TTom.<br><br><br><br><div class="gmail_quote">On Tue, Mar 20, 2012 at 4:17 PM, Dawid Figiel <span dir="ltr"><<a href="mailto:dawid.figiel@gmail.com">dawid.figiel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
There is a recommendation in Erlang doc, which is telling to set up<br>
the trap_exit to true in the gen_server:init, when want to do clean up<br>
before supervisor will terminate the gen_server.<br>
<br>
<a href="http://www.erlang.org/doc/design_principles/gen_server_concepts.html#id66567" target="_blank">http://www.erlang.org/doc/design_principles/gen_server_concepts.html#id66567</a><br>
<br>
My question is:<br>
What for trap_exit has to be set to true when the clean up is needed?<br>
<br>
The place for doing some clean ups is under terminate function.<br>
We want to have trape_exit set to true when we need to handle 'EXIT'<br>
signals coming from linked processes to (for example) not crash<br>
gen_server.<br>
<br>
The only explanation for me is that the supervisor may crash too and<br>
send 'Exit' to gen_server as well... but this doesn't convince even<br>
myself.<br>
<br>
Has anyone some explanation for this advice ?<br>
<br>
<br>
Best,<br>
<br>
Dawid<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br>