We spawn `ConnectionProcess` as a managed process to guarantee that it does not wait on itself (this would cause a deadlock!). See MESOS-4658 for details. TODO(bmahler): This surfaces a general pattern that we should enforce: have libprocess manage a Process when it cannot be guaranteed that the Process will be waited on within a different execution context. More generally, we should be passing P
| 1372 | // we should be passing Process ownership to libprocess to |
| 1373 | // ensure all interaction with a Process occurs through a PID. |
| 1374 | Data(const network::Socket& s) |
| 1375 | : process(spawn(new internal::ConnectionProcess(s), true)) {} |
| 1376 | |
| 1377 | ~Data() |
| 1378 | { |