> On May 25, 2018, 3:12 p.m., Benjamin Bannier wrote: > > 3rdparty/libprocess/src/grpc.cpp > > Lines 70 (patched) > > <https://reviews.apache.org/r/67157/diff/4/?file=2024986#file2024986line80> > > > > I am slightly worried that we only `join` this thread on `terminate`. > > Could we make sure we `join` the thread whenever `looper` gets `reset` or > > goes out of scope -- we might be able to e.g., use a custom deleter for > > that if the lifetimes are guaranteed to be correct. > > Benjamin Bannier wrote: > Maybe as a simpler solution, let's call `looper.reset()` here and add a > destructor > > Runtime::RuntimeProcess::~RuntimeProcess() > { > CHECK(!looper); > } > > to make sure on the language level (in addition to libprocess `Process` > semantics) that we never leak this thread.
Will do. I'll also add `CHECK(!looper)` before `looper.reset(new ...)`. - Chun-Hung ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/67157/#review203871 ----------------------------------------------------------- On May 17, 2018, 10:23 p.m., Chun-Hung Hsiao wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/67157/ > ----------------------------------------------------------- > > (Updated May 17, 2018, 10:23 p.m.) > > > Review request for mesos, Benjamin Bannier, Benjamin Mahler, Jie Yu, and > Zhitao Li. > > > Bugs: MESOS-8924 > https://issues.apache.org/jira/browse/MESOS-8924 > > > Repository: mesos > > > Description > ------- > > The refactoring does the following things: > 1. Manage the gRPC completion queue and the looper thread in the runtime > process to get rid of a lock in `Runtime::Data`. > 2. Move the computation of sending a request into the runtime process. > 3. Let libprocess manage the runtime process automatically instead of > managing its lifecycle in `Runtime::Data`. > > > Diffs > ----- > > 3rdparty/libprocess/include/process/grpc.hpp > 321a46e19c69eafb24012bcef68bb8b0cc6aa436 > 3rdparty/libprocess/src/grpc.cpp a80bcb614ec96d92d21bc88a281d3208e86141a0 > > > Diff: https://reviews.apache.org/r/67157/diff/4/ > > > Testing > ------- > > sudo make check > > > Thanks, > > Chun-Hung Hsiao > >