[erlang-questions] Re: erl startup

Wes James comptekki@REDACTED
Wed Jun 2 03:26:09 CEST 2010


On Tue, Jun 1, 2010 at 6:37 PM, Bernard Duggan <bernie@REDACTED> wrote:
> On 02/06/10 08:43, Wes James wrote:
>>
>> [snip]
>>>
>>> wait_for_exit() ->
>>>        receive
>>>                some_exit_signal ->    ok;
>>>                _ ->    wait_for_exit()
>>>        end.
>>>
>>>
>>
>> If I do this
>>
>>  module:wait_for_exit() ! some_exit_signal.
>>
>> It just hangs.  I have to hit ctrl-c to kill it.  Isn't it supposed to
>> exit wait_for_exit() after that?
>>
>
> ...No?  What you're asking it to do there is to send the message
> 'some_exit_signal' to the process returned by the call
> module:wait_for_exit().  That function doesn't return a process - indeed,
> its whole point is to /not return at all/ until it receives that message.
> You need to get the PID of the process that's running (the value returned by
> start()) and send the signal to that.  ie:
>
> 1> Pid = module:start().
> <some pid>
> 2> Pid ! some_exit_signal.
>
> B
>

Thx again.  That worked.

-wes


More information about the erlang-questions mailing list