----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/53817/#review156111 -----------------------------------------------------------
3rdparty/libprocess/src/process.cpp (lines 1221 - 1222) <https://reviews.apache.org/r/53817/#comment226250> It does look like this is a leak, but due to joining and recreating the thread pool between reinitializations, the `__executor__` will be recreated. Deleting a thread local variable like this will only delete one instance of it, whereas there could be one instance per thread. We should consider changing the `_executor_` to an `Owned<>` value. - Joseph Wu On Nov. 16, 2016, 11:07 a.m., Greg Mann wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/53817/ > ----------------------------------------------------------- > > (Updated Nov. 16, 2016, 11:07 a.m.) > > > Review request for mesos, Benjamin Mahler, Joseph Wu, and Vinod Kone. > > > Bugs: MESOS-5966 > https://issues.apache.org/jira/browse/MESOS-5966 > > > Repository: mesos > > > Description > ------- > > The `finalize()` function in libprocess previously did > not delete the thread-local `Executor` which is used to > `defer` execution to an unspecified context. This object > must be deleted during finalization so that the > `__executor__` macro creates a new process if libprocess > is subsequently reinitialized. > > > Diffs > ----- > > 3rdparty/libprocess/src/process.cpp > ab2b5a9d38a3001d6a5daa1807fecb630c4b154d > > Diff: https://reviews.apache.org/r/53817/diff/ > > > Testing > ------- > > Testing details are found at the end of this review chain. > > > Thanks, > > Greg Mann > >
