<html><div style='background-color:'><DIV>
<DIV>I recently discovered Erlang and I am thinking about using it</DIV>
<DIV>for some of our projects.</DIV>
<DIV> </DIV>
<DIV>While Erlang documentation explains clearly the different ways</DIV>
<DIV>to call C functions or spawn a new external process and communicate</DIV>
<DIV>with it through a port, it is less explicit concerning communication with already</DIV>
<DIV>existing processes.</DIV>
<DIV>There is always the possibility to use sockets but sometimes it is "overkill"</DIV>
<DIV>on the external process side and not always appropriate.</DIV>
<DIV>For processes on the same cpu, it is often useful to use named pipes</DIV>
<DIV>(fifo) as an IPC mechanism.</DIV>
<DIV> </DIV>
<DIV>But how is this supported on Erlang/OTP ?</DIV>
<DIV>Using file:open("name fifo",[]) doesn't work on named pipes (it works for regular</DIV>
<DIV>files).</DIV>
<DIV>Using open_port("name fifo", []) seems to work </DIV>
<DIV>(it worked in my erlang shell, I haven't yet sent/received info over the pipe) </DIV>
<DIV>but the documentation (Kernel reference manual version 2.7, module erlang, under </DIV>
<DIV>open_port) states that for </DIV>
<DIV>open_port(PortName ...) with an Atom as PortName (name of the named pipe) </DIV>
<DIV>"<STRONG>This use of open_port() is obsolete and will be removed in a future version of Erlang. Use the </STRONG><CODE>file</CODE> <STRONG>module instead"</STRONG></DIV>
<DIV> </DIV>
<DIV>So are named pipes/fifo officially supported in Erlang ?</DIV>
<DIV>If open_port with Atoms (named pipes) is soon to be removed,  can we be sure</DIV>
<DIV>that at this time file:open will then support named pipes ?</DIV>
<DIV> </DIV>
<DIV>According to the archives, someone already asked a similar question</DIV>
<DIV>in July 2001 ("named pipe as port ?") but without any answer.</DIV>
<DIV> </DIV>
<DIV>Thanks,</DIV>
<DIV>Christophe Lesourd</DIV>
<DIV>InSerTO</DIV></DIV></div><br clear=all><hr>Chat with friends online, try MSN Messenger: <a href='http://g.msn.com/1HM302801/M'>Click Here</a><br></html>