C Node and {'EXIT', Pid, noconnection} in Erlang

Max Lapshin <>
Tue Oct 6 06:45:27 CEST 2009


Hi, everyone. I want to make an experiment: our library, written in
ObjC can stream some kind of data
and I want to make it stream data to Erlang front server.

As library is build on top of libev, I had to reimplement whole
erl_interface to be it asynchronous, also I've
implemented direct mapping from many of erlang types to native
ObjectiveC types (such as NSNumber, NSString, NSData, etc).

Everything works ok, epmd register my C node (as hidden one), erlang
connects, net_adm:ping works,
because net_kernel process is implemented, rpc:call is handled, etc.

>From erlang side it looks so:

{ok, NetStream} = rpc:call(NetStreamNode, netstream, start, [Name], ?TIMEOUT),
link(NetStream),
?D({"Netstream created", NetStream}),
{ok, NetStream}


In ObjC side all messages are received, object is allocated and
subscribes to messages under proper Pid.
However, before first message from ObjC is arrived, frontend receive message:

{'EXIT', NetStream, noconnection}

I've looked through all source of erlang, and I cannot clearly
understand, what can provide such a message?

In node flags, while establishing protocol, I do not mention monitor
abilities? Maybe I miss some message,
that should be replied as error? If it will help, I can dump all
messages, received from erlang to C and back.


More information about the erlang-questions mailing list