<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 6, 2013 at 5:29 PM, E.S. Rosenberg <span dir="ltr">&lt;<a href="mailto:esr+linux-il@g.jct.ac.il" target="_blank">esr+linux-il@g.jct.ac.il</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">re:all, forgot to change my from field.<br>
<div class=""><div class="h5"><br>
2013/6/6 Erez D &lt;<a href="mailto:erez0001@gmail.com">erez0001@gmail.com</a>&gt;:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Jun 6, 2013 at 5:04 PM, E.S. Rosenberg &lt;<a href="mailto:esr@g.jct.ac.il">esr@g.jct.ac.il</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; 2013/6/6 Erez D &lt;<a href="mailto:erez0001@gmail.com">erez0001@gmail.com</a>&gt;:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Tue, Jun 4, 2013 at 6:09 PM, Shachar Shemesh &lt;<a href="mailto:shachar@shemesh.biz">shachar@shemesh.biz</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On 04/06/13 15:28, Erez D wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; thanks,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; so i guess if i use unidirectional connection, and the reader does not<br>
&gt;&gt; &gt;&gt; expect to get an EOF()<br>
&gt;&gt; &gt;&gt; thank i&#39;m safe.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Why are you so keen on doing it wrong?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; No, you are not safe. If the child process dies because of a<br>
&gt;&gt; &gt;&gt; segmentation<br>
&gt;&gt; &gt;&gt; fault (or whatever), the parent will notice this through the EOF<br>
&gt;&gt; &gt;&gt; received (I<br>
&gt;&gt; &gt;&gt; am assuming here, since you couldn&#39;t be bothered with closing a file<br>
&gt;&gt; &gt;&gt; descriptor, that you did not install a SIGCHLD handler to monitor for<br>
&gt;&gt; &gt;&gt; this<br>
&gt;&gt; &gt;&gt; possibility). This means that should one process die unexpectedly, the<br>
&gt;&gt; &gt;&gt; other<br>
&gt;&gt; &gt;&gt; will hang forever.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; it&#39;s not a matter of being bothered. closing a file has it&#39;s<br>
&gt;&gt; &gt; implications<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 1.  close the file for one thread closes for all<br>
&gt;&gt; thread and fork are 2 very different things, best practice for fork<br>
&gt;&gt; (&#39;full&#39; children, I think everyone understands fork() when you say<br>
&gt;&gt; child) is to close, when using threads that is I believe not the case.<br>
&gt;&gt; &gt; 2. what if i want later children using the same pipe, as in all childs<br>
&gt;&gt; &gt; write<br>
&gt;&gt; &gt; to same pipe read by parent...<br>
&gt;&gt; so the children are all closing the read end and the parent only<br>
&gt;&gt; closes write, where is the problem?<br>
&gt;<br>
&gt; if the parent closes the &quot;write&quot; side, then new forked children have their<br>
&gt; &quot;write&quot; side already closed.<br>
</div></div><div class="im">That&#39;s why we are able to check if we are a child or a parent with the<br>
fork() function.<br></div></blockquote><div>that doesn&#39;t help<br><br></div><div>sunday: parent creates a pipe<br>monday: parent forks for child 1. parent closes write. child 1 closes read. child 1 now can write and parent can read.<br>

</div>tuesday: parent forks for child 2. child 2 can not write - pipe already close by parent on monday.<br></div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div class="im">
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
</div><div class=""><div class="h5">&gt;&gt; &gt;&gt; Best practices are there for a reason, despite what others here might<br>
&gt;&gt; &gt;&gt; have<br>
&gt;&gt; &gt;&gt; you think.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Shachar<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; Linux-il mailing list<br>
&gt;&gt; &gt; <a href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a><br>
&gt;&gt; &gt; <a href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" target="_blank">http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il</a><br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div>