[erlang-questions] How to detect that spawn/4 did not work
Brujo Benavides @ Inaka
elbrujohalcon@REDACTED
Fri Aug 8 22:12:53 CEST 2014
Digging further, you can try with spawn_link:
1> process_flag(trap_exit, true).
false
2> spawn_link('this.is@REDACTED', erlang, display, [nothing]).
<0.44.0>
3>
=ERROR REPORT==== 8-Aug-2014::17:11:51 ===
** Can not start erlang:display,[nothing] ([link]) on 'this.is@REDACTED' **
3> flush().
Shell got {'EXIT',<0.44.0>,noconnection}
ok
4>
> On Aug 8, 2014, at 17:06, Federico Carrone <federico.carrone@REDACTED> wrote:
>
> How can we detect that spawn/4 did not work (network split, host down, etc)? We get an error report but the function returns an invalid Pid and it is not possible to know if it is a real one or not.
>
> Why does it return a pid even if it did not work and if it can detect the error (since it generated an error report)?
>
> Regards,
> Federico.
>
> ---
>
> 1> spawn('this.is@REDACTED', erlang, display, [nothing]).
> <0.43.0>
>
> =ERROR REPORT==== 8-Aug-2014::16:50:52 ===
> ** Can not start erlang:display,[nothing] on 'this.is@REDACTED' **
>
> 2> proc_lib:spawn('this.is@REDACTED', erlang, display, [nothing]).
> <0.56.0>
>
> 3>
> =ERROR REPORT==== 8-Aug-2014::16:52:21 ===
> ** Can not start proc_lib:init_p,[<0.50.0>,[],erlang,display,[nothing]] on 'this.is@REDACTED' **
>
> 4> is_process_alive(spawn('this.is@REDACTED', erlang, display, [nothing])).
> true
> 5>
> =ERROR REPORT==== 8-Aug-2014::16:53:27 ===
> ** Can not start erlang:display,[nothing] on 'this.is@REDACTED' **
>
> --
> http://federicocarrone.com/
> _______________________________________________
> 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/20140808/0712de78/attachment.htm>
More information about the erlang-questions
mailing list