Starting generic servers with proc_lib
Benefits Dragon
benefitsdragon@REDACTED
Sat Aug 27 16:55:01 CEST 2005
Well the test server already does that so I'll assume that it sets
sasl running for the test suites, thanks for clearing it up for me.
On 8/26/05, Gunilla Arendt <gunilla@REDACTED> wrote:
> I'm not sure I understand your question, but if you wonder how to get
> crash reports from a gen_server process, then the answer is that a
> gen_server automatically generates a crash report. But, the SASL event
> handler must be installed in the error_logger process, or the crash
> report is not printed to stdout.
>
> That is: Either use the start_sasl boot script:
>
> % erl -boot start_sasl
>
> Or, start SASL from the Erlang shell:
>
> 1> application:start(sasl).
>
> Or, install the event handler yourself:
>
> 1> error_logger:install_handler(sasl_report_tty_h, all).
> ok
> ...
>
> 5> gen_server:cast(ab, error).
> ok
> =ERROR REPORT==== 26-Aug-2005::15:34:56 ===
> ** Generic server ab terminating
> ** Last message in was {'$gen_cast',error}
> ** When Server state == []
> ** Reason for termination ==
> ** bad
>
> 3>
> =CRASH REPORT==== 26-Aug-2005::15:34:56 ===
> crasher:
> pid: <0.41.0>
> registered_name: ab
> error_info: bad
> initial_call:
> {gen,init_it,[gen_server,<0.39.0>,self,{local,ab},ab,[],[]]}
> ancestors: [<0.39.0>]
> messages: []
> links: []
> dictionary: []
> trap_exit: false
> status: running
> heap_size: 233
> stack_size: 21
> reductions: 120
> neighbours:
>
> / Gunilla
>
> Benefits Dragon wrote:
> > As part of a related topic ("Messages going missing in test suite"), I
> > was wondering how you start_link generic servers with the proc_lib so
> > I can get crash reports from them, the description says the proc_lib
> > spawn and start functions are to replace the erl versions yet when you
> > start a gen_server you don't use the erl version use call the
> > gen_server module to do it. Can you still use the proc_lib module to
> > start gen_servers?
>
>
>
More information about the erlang-questions
mailing list