You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Ben Mahler <be...@gmail.com> on 2015/12/04 04:27:38 UTC

Re: Review Request 39940: Globally ignore SIGPIPE in libprocess.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39940/#review108929
-----------------------------------------------------------

Ship it!


Thanks James, nice work.

Could we also have this decision documented in the libprocess readme?

Do we want to remove the 'suppress' construct in stout's os::sendfile? While it doesn't assume libprocess, it may make sense for the caller of os::sendfile to make the suppression decision. In the case of libprocess, we don't need it.


3rdparty/libprocess/src/libevent.cpp (line 15)
<https://reviews.apache.org/r/39940/#comment168384>

    Looks like we can remove this?



3rdparty/libprocess/src/libevent.cpp (line 27)
<https://reviews.apache.org/r/39940/#comment168383>

    Looks like we can remove this?



3rdparty/libprocess/src/process.cpp (lines 786 - 788)
<https://reviews.apache.org/r/39940/#comment168381>

    Thank you sir! I will add to this, including a reference to the ticket and a TODO to consider removing MSG_NOSIGNAL / SO_NOSIGPIPE code.
    
    It would be great to also have a blurb in the top level libprocess readme about this. Could you follow up?



3rdparty/libprocess/src/process.cpp (line 789)
<https://reviews.apache.org/r/39940/#comment168382>

    This looks good for now, however this code predates the ability to finalize libprocess. Seems like we should have a TODO for restoring the previous handler upon finalization of libprocess.


- Ben Mahler


On Nov. 4, 2015, 5:16 p.m., James Peach wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/39940/
> -----------------------------------------------------------
> 
> (Updated Nov. 4, 2015, 5:16 p.m.)
> 
> 
> Review request for mesos and Ben Mahler.
> 
> 
> Bugs: MESOS-2079
>     https://issues.apache.org/jira/browse/MESOS-2079
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Reliably turning SIGPIPE into EPIPE while allowing the main executable
> to still own SIGPIPE handling is complex and hard to make reliable
> across platforms. Globally ignore SIPIPE when we start up libprocess.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/io.cpp 26686e1a96484e3f09d41a7292f38b7579ce9c48 
>   3rdparty/libprocess/src/libevent.cpp 7b4299df0e07f4f365ac1cdb24917c804cc72cdc 
>   3rdparty/libprocess/src/process.cpp a94712b9ac3b60fb047b3a5a4d84a56fa4d02313 
>   3rdparty/libprocess/src/tests/main.cpp 4a7b9b68731ba1ac489109f20af2c1eec0bdc84f 
> 
> Diff: https://reviews.apache.org/r/39940/diff/
> 
> 
> Testing
> -------
> 
> make check.
> Run IOTest.Write in a loop on OS X.
> 
> 
> Thanks,
> 
> James Peach
> 
>