[erlang-questions] port_close/1 problem

Serge Aleynikov <>
Wed Oct 31 15:49:56 CET 2007


Per Hedeland wrote:
> Hm, but after it has done that loading, this "3rd party binary
> interpreter" will actually start communicating with Erlang on fd 3/4,
> using {packet, 2} format? 

Yes, if everything goes well in the initialization step.

> I guess not, i.e. you probably have some
> wrapper around it - and if so, can't you send the pid from the wrapper
> code *before* doing all the loading?

I don't have a wrapper - the interpreter does some heavy weight 
initialization (loading a bunch (~ 200!!!) of shared objects) and at 
some point will evaluate my script that would communicate with Erlang 
through a pipe.  If anything goes wrong I'd like to be able to kill the 
beast by sending a fatal signal (and it would not be desirable to 
introduce some light-weight middleman process that would sit between 
Erlang and the interpreter and do all intermediate pipe marshaling).

> Alternatively, you could experiment with something along the lines of
> 
>  {spawn, Exe ++ " & echo $!"}
> 
> That obviously won't work as-is with {packet, 2}, so it has to be a bit
> more complex, and the backgrounding *might* mess up the pipe plumbing,
> but I don't really think it should.

Thanks, I'll try, though I am doubtful that sending a process in the 
background won't hurt the piping setup.

Serge



More information about the erlang-questions mailing list