idiom for clearing up resources?

Francesco Cesarini francesco@REDACTED
Mon Aug 25 14:10:06 CEST 2003


If you use OTP behaviours, you could trap exits and clean up in the 
terminate call back function. The function is called every time you stop 
your behaviour, or when ever it terminates abnormally and you are 
trapping exits. The cleaning would have to be generic, however, as it 
can be tricky to figure out exactly what you were doing before the crash.

You can read about the OTP behaviours at 
http://www.erlang.org/doc/r9c/doc/design_principles/part_frame.html

Regards,
Francesco
--
http://www.erlang-consulting.com

WILLIAMS Dominic wrote:

>Hello,
>
>Is there an idiom for initializing and clearing up resources
>(e.g. files) needed by an Erlang function, in such a way that the
>clear-up code gets called even in the face of an error?
>
>e.g.
>
>myfunc() ->
>	ok = file:make_dir("c:/tmp/foo"),
>	% do some stuff
>	ok = file:del_dir("c:/tmp/foo").
>
>I want the last line to be called even if "do some stuff" crashes.
>Basically, coming from a C++ background, this is the code I would
>have put in something's destructor, and I am wondering what Erlangers
>do...
>
>Cheers,
>
>Dominic.
>
>
>  
>





More information about the erlang-questions mailing list