[erlang-questions] gen_server init returns {stop, Reason} and fails: possibly doc bug?
Brujo Benavides
fernando.benavides@REDACTED
Wed May 3 10:48:39 CEST 2017
You’re correct.
To be able to use the result of gen_server:start_link you must be trapping exits.
I wrote a blog post <https://medium.com/erlang-battleground/the-unstoppable-exception-9dfb009852f5> about it a while back.
Cheers!
> On May 2, 2017, at 11:57, Max Lapshin <max.lapshin@REDACTED> wrote:
>
>
> Here: http://erlang.org/doc/man/gen_server.html#start_link-3 <http://erlang.org/doc/man/gen_server.html#start_link-3> we can read that start_link will return {error, Reason} if init callback returns {stop, Reason}
>
>
> Maybe I'm wrong, but it seems that it is not possible to get back clean reply, because gen_server.erl has following code:
>
> proc_lib:init_ack(Starter, {error, Reason}), % here we may receive error tuple
> exit(Reason)
>
> After exit caller is failing because of linkage. So if we want to have start_link, we cannot get clean logs and clearly get {error, Reason} tuple.
>
> Am I wrong?
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170503/a2b66d85/attachment.htm>
More information about the erlang-questions
mailing list