[erlang-questions] On internals of the VM and message delivery

Alessandro Sivieri <>
Tue Jan 22 18:42:00 CET 2013


Hi all,

probably someone in this ml is able to give me a pointer to the correct
source code: I am trying to follow the path of a message from the send
operation in Erlang to the driver through the VM, and from the reception of
the packets from the network to the delivery of the message in Erlang (when
the "receive" operator is used).
Now, I was able to follow the "send" path thoroughly, but I am stuck in the
"receive" path: I went from the io.c:driver_output to
dist.c:erts_net_message to erl_message.c:erts_queue_dist_message, and at
this point the received message is put inside the process queue.
Where is the message extracted then? I guess that somewhere the message is
taken from the queue, the binary stream (the message, because the header is
already extracted in dist.c) unpacked into a term and the term given to the
process, and in particular I am looking for the place where the term is
unpacked...

P.S.: sorry if the request is so low level :)

-- 
Sivieri Alessandro

http://sivieri.wordpress.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130122/55a5d0cd/attachment.html>


More information about the erlang-questions mailing list