~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to lib/kernel/src/erl_epmd.erl

  • Committer: Bazaar Package Importer
  • Author(s): Erlang Packagers, Sergei Golovan
  • Date: 2006-12-03 17:07:44 UTC
  • mfrom: (2.1.11 feisty)
  • Revision ID: james.westby@ubuntu.com-20061203170744-rghjwupacqlzs6kv
Tags: 1:11.b.2-4
[ Sergei Golovan ]
Fixed erlang-base and erlang-base-hipe prerm scripts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
-behaviour(gen_server).
21
21
 
 
22
-ifdef(DEBUG).
 
23
-define(port_please_failure(), io:format("Net Kernel 2: EPMD port please failed at ~p:~p~n", [?MODULE,?LINE])).
 
24
-define(port_please_failure2(Term), io:format("Net Kernel 2: EPMD port please failed at ~p:~p [~p]~n", [?MODULE,?LINE,Term])).
 
25
-else.
 
26
-define(port_please_failure(), noop).
 
27
-define(port_please_failure2(Term), noop).
 
28
-endif.
 
29
 
22
30
%% External exports
23
31
-export([start/0, start_link/0, stop/0, port_please/2, 
24
32
         port_please/3, names/0, names/1,
48
56
 
49
57
 
50
58
stop() ->
51
 
    gen_server:call(erl_epmd, stop).
 
59
    gen_server:call(erl_epmd, stop, infinity).
52
60
 
53
61
 
54
62
%% Lookup a node "Name" at Host
100
108
 
101
109
 
102
110
register_node(Name, PortNo) ->
103
 
    gen_server:call(erl_epmd, {register, Name, PortNo}, 15000).
 
111
    gen_server:call(erl_epmd, {register, Name, PortNo}, infinity).
104
112
 
105
113
%%%----------------------------------------------------------------------
106
114
%%% Callback functions from gen_server
304
312
            gen_tcp:send(Socket, [?int16(Len),?EPMD_PORT_PLEASE, Name]),
305
313
            wait_for_port_reply_v0(Socket, []);
306
314
        _Error -> 
 
315
            ?port_please_failure(),
307
316
            noport
308
317
    end.
309
318
 
325
334
                    Other
326
335
            end;
327
336
        _Error -> 
 
337
            ?port_please_failure2(_Error),
328
338
            noport
329
339
    end.
330
340
 
339
349
                Data when length(Data) < 2 ->
340
350
                    wait_for_port_reply_v0(Socket, Data);
341
351
                Garbage ->
 
352
                    ?port_please_failure(),
342
353
                    {error, {garbage_from_epmd, Garbage}}
343
354
            end;
344
355
        {tcp_closed, Socket} ->
 
356
            ?port_please_failure(),
345
357
            noport
346
358
    after 10000 ->
 
359
            ?port_please_failure(),
347
360
            gen_tcp:close(Socket),
348
361
            noport
349
362
    end.
358
371
                        0 ->
359
372
                            wait_for_port_reply_cont(Socket, Rest);
360
373
                        _ ->
 
374
                            ?port_please_failure(),
361
375
                            wait_for_close(Socket, noport)
362
376
                    end;
363
377
                Data when length(Data) < 2 ->
364
378
                    wait_for_port_reply(Socket, Data);
365
379
                Garbage ->
 
380
                    ?port_please_failure(),
366
381
                    {error, {garbage_from_epmd, Garbage}}
367
382
            end;
368
383
        {tcp_closed, Socket} ->
 
384
            ?port_please_failure(),
369
385
            closed
370
386
    after 10000 ->
 
387
            ?port_please_failure(),
371
388
            gen_tcp:close(Socket),
372
389
            noport
373
390
    end.
383
400
                Data when length(Data) < 10 ->
384
401
                    wait_for_port_reply_cont(Socket, Data);
385
402
                Garbage ->
 
403
                    ?port_please_failure(),
386
404
                    {error, {garbage_from_epmd, Garbage}}
387
405
            end;
388
406
        {tcp_closed, Socket} ->
 
407
            ?port_please_failure(),
389
408
            noport
390
409
    after 10000 ->
 
410
            ?port_please_failure(),
391
411
            gen_tcp:close(Socket),
392
412
            noport
393
413
    end.