[erlang-questions] changing the internal message transfer protocol

Guilherme Silveira guilherme.silveira@REDACTED
Fri Sep 25 18:08:05 CEST 2009


Thanks Jachym,

>> Pid = spawn(NodeName, M, F, A).
> See lib/kernel/src/erlang.erl:spawn/4.
spawn invokes gen_server when NodeName =/= node(), which invokes
gen:call, which invokes erlang:send.

But I was unable to find who exports erlang:send... the erlang module
(erlang.erl) only exports dsend, which connnects+invokes send.

Reading the net_kernel and do_connect implementations, it seems as
connections are treated with their own local pids and kept alive. But
still...

Any suggestions where to find the send implementation?


Regards

>
>> Pid!{values}
>
> See erts/emulator/beam/bif.c:ebif_bang_2().
>
> Just a result of quick code inspection, I don't posses actual wisdom
> regarding how they work ;-).
>
> Have fun,
>        -- Jachym
>


More information about the erlang-questions mailing list