net_adm:names() failing
Vance Shipley
vances@REDACTED
Fri Oct 1 02:16:40 CEST 1999
I seem to be having some problems with tcp on my Unixware
port. I believe that I'm loosing messages when the socket
gets closed. Anybody have any ideas?
On my Unixware port I have a problem with net_adm:names()
returning {ok, []} at all times (not just using short host
names as I reported before).
Some debugging shows that in the module erl_epmd, in the
function do_get_names, the socket seems to be getting closed
before the return message is received. In the receive loop
the {tcp, Socket, [P0,P1,P2,P3|T]} never gets called, just
the {tcp_closed, Socket}.
erl_epmd.erl:
do_get_names(Socket) ->
inet_tcp:send(Socket, [?int16(1),?EPMD_NAMES]),
receive
{tcp, Socket, [P0,P1,P2,P3|T]} ->
EpmdPort = ?u32(P0,P1,P2,P3),
if EpmdPort == ?erlang_daemon_port ->
names_loop(Socket, T, []);
true ->
close(Socket),
{error, address}
end;
{tcp_closed, Socket} ->
{ok, []}
end.
I know it's not a problem with epmd because my windows machine
can get names from the unixware epmd and from unixware I can't
get names from the windows machine.
The debug output from epmd shows the same from both accesses:
Windows:
***** Thu Sep 30 19:52:29 1999: opening connection on file descriptor 6
***** Thu Sep 30 19:52:29 1999: time in seconds: 938735549
***** Thu Sep 30 19:52:29 1999: time in seconds: 938735549
***** Thu Sep 30 19:52:29 1999: got 3 bytes
***** 00000000 00 01 6e |..n|
***** Thu Sep 30 19:52:29 1999: time in seconds: 938735549
***** Thu Sep 30 19:52:29 1999: got 4 bytes
***** 00000000 00 00 11 11 |....|
***** Thu Sep 30 19:52:29 1999: got 22 bytes
***** 00000000 6e 61 6d 65 20 66 6f 6f 20 61 74 20 70 6f 72 74 |name foo at
port|
***** 00000010 20 31 32 37 35 0a | 1275.|
***** Thu Sep 30 19:52:29 1999: sent NAMES_RESP
***** Thu Sep 30 19:52:29 1999: closing connection on file descriptor 6
Unixware:
***** Thu Sep 30 19:53:01 1999: opening connection on file descriptor 6
***** Thu Sep 30 19:53:01 1999: time in seconds: 938735581
***** Thu Sep 30 19:53:01 1999: time in seconds: 938735581
***** Thu Sep 30 19:53:01 1999: got 3 bytes
***** 00000000 00 01 6e |..n|
***** Thu Sep 30 19:53:01 1999: time in seconds: 938735581
***** Thu Sep 30 19:53:01 1999: got 4 bytes
***** 00000000 00 00 11 11 |....|
***** Thu Sep 30 19:53:01 1999: got 22 bytes
***** 00000000 6e 61 6d 65 20 66 6f 6f 20 61 74 20 70 6f 72 74 |name foo at
port|
***** 00000010 20 31 32 37 35 0a | 1275.|
***** Thu Sep 30 19:53:01 1999: sent NAMES_RESP
***** Thu Sep 30 19:53:01 1999: closing connection on file descriptor 6
-Vance
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Vance Shipley.vcf
Type: application/octet-stream
Size: 518 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-questions/attachments/19990930/bb8a3ec2/attachment.obj>
More information about the erlang-questions
mailing list