mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joseph Wu <jos...@mesosphere.io>
Subject Review Request 49404: Changed the SocketManager to pass outgoing "Sockets" by value.
Date Wed, 29 Jun 2016 23:56:23 GMT

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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message