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

Review request for mesos, Benjamin Mahler and Artem Harutyunyan.


Bugs: MESOS-5748
    https://issues.apache.org/jira/browse/MESOS-5748


Repository: mesos


Description
-------

`Sockets` is already a reference-counted `shared_ptr` under the covers.
By passing around `Sockets` by value, we avoid potentially deleting
a reference while the same reference is in use by another function.

This fixes a rare race (segfault) between `link`/`send` and 
`ignore_recv_data`.  If the peer of the socket exits between 
establishing a connection and libprocess queuing a `MessageEncoder`, 
`ignore_recv_data` may delete the `Socket` underneath the `link`/`send`.


Diffs
-----

  3rdparty/libprocess/src/process.cpp 9bae71246e751e491be5a989eea8aca29c9aa751 

Diff: https://reviews.apache.org/r/49404/diff/


Testing
-------

make check (OSX)

3rdparty/libprocess/libprocess-tests 
--gtest_filter="ProcessRemoteLinkTest.RemoteLink"  --gtest_break_on_failure 
--gtest_repeat=10000


Thanks,

Joseph Wu

Reply via email to