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
>
>