Well, this approach can solve much of the problem.<br>Do you know if there's any approach which can clone the control flow as well as the states?<br><br>Of course in your example the control flow is cloned as you also <font face="courier new, monospace">loop</font> in the <font face="courier new, monospace">spawn fun</font>. <br>
But what I want is a more general case. Take the following C code as an example.<br><br><font face="courier new, monospace">f();<br>fork();<br>g();</font><br><br>Here the return value of <font face="courier new, monospace">fork()</font> is ignored, so the next steps of both the parent and the child <div>
process are the same, which is to execute <font face="courier new, monospace">g()</font>. Can I achieve this in Erlang?<br><br>2012/9/6 Bengt Kleberg <<a href="mailto:bengt.kleberg@ericsson.com">bengt.kleberg@ericsson.com</a>><br>
><br>> Greetings,<br>><br>> Suppose that you have a process running like this:<br>> loop( State ) -><br>>         receive<br>>         normal -><br>>                 New_state = new_state( State ),<br>
>                 loop( New_state )<br>>         _ -> ok<br>>         end.<br>><br>> You could add a forking like this:<br>> loop( State ) -><br>>         receive<br>>         normal -><br>
>                 loop( State )<br>>         fork -><br>>                 spawn( fun() -> loop(State) end ),<br>>                 loop( State )<br>>         _ -> ok<br>>         end.<br>><br>
><br>> bengt<br>><br>> On Thu, 2012-09-06 at 17:02 +0200, Xiao Jia wrote:<br>> > Hi,<br>> ><br>> ><br>> > How can I fork/clone a process in Erlang, just as the fork in Unix?<br>> ><br>
> ><br>> > I have searched a lot but just got nothing related to that. I suppose<br>> > the usage may look like this:<br>> ><br>> ><br>> > case fork() of<br>> >   {parent, Pid} -> in_parent_process_now();<br>
> >   {child, Pid} -> in_child_process_now();<br>> > end.<br>> ><br>> ><br>> > Any ideas?<br>> ><br>> ><br>> ><br>> ><br>> > Thanks,<br>> ><br>> ><br>
> > Xiao Jia<br>><br>> _______________________________________________<br>> erlang-questions mailing list<br>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>> <a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></div>