c/unix q

c/unix q

Erez D erez0001 at gmail.com
Thu Jun 6 15:59:06 IDT 2013


On Tue, Jun 4, 2013 at 6:09 PM, Shachar Shemesh <shachar at shemesh.biz> wrote:

>  On 04/06/13 15:28, Erez D wrote:
>
>   thanks,
>
> so i guess if i use unidirectional connection, and the reader does not
> expect to get an EOF()
>  thank i'm safe.
>
>   Why are you so keen on doing it wrong?
>
> No, you are not safe. If the child process dies because of a segmentation
> fault (or whatever), the parent will notice this through the EOF received
> (I am assuming here, since you couldn't be bothered with closing a file
> descriptor, that you did not install a SIGCHLD handler to monitor for this
> possibility). This means that should one process die unexpectedly, the
> other will hang forever.
>
it's not a matter of being bothered. closing a file has it's implications

1.  close the file for one thread closes for all
2. what if i want later children using the same pipe, as in all childs
write to same pipe read by parent...


> Best practices are there for a reason, despite what others here might have
> you think.
>
> Shachar
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20130606/58e62b6a/attachment.html>


More information about the Linux-il mailing list