mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Hindman <b...@berkeley.edu>
Subject Re: Review Request 54825: Made sure process::Loop instances can only be created as shared_ptrs.
Date Sun, 08 Jan 2017 07:18:50 GMT


> On Jan. 8, 2017, 7:16 a.m., Benjamin Hindman wrote:
> > 3rdparty/libprocess/include/process/loop.hpp, line 132
> > <https://reviews.apache.org/r/54825/diff/1/?file=1588281#file1588281line132>
> >
> >     Why not use std::make_shared?

Never mind! `std::make_shared` won't have access to the constructor. Thanks Benjamin!


- Benjamin


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


On Dec. 16, 2016, 11:11 p.m., Benjamin Bannier wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54825/
> -----------------------------------------------------------
> 
> (Updated Dec. 16, 2016, 11:11 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> process::Loop is a std::enable_shared_from_this. Using stack-allocated
> instances of classes derived from std::enable_shared_from_this is
> undefined behavior.
> 
> Prevent creation of stack-allocated process::Loop instances by hiding
> the constructors and providing a factory method to be used instead.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/include/process/loop.hpp b35f7e6cc2da9d1c840656f80410756ba80dbc48

> 
> Diff: https://reviews.apache.org/r/54825/diff/
> 
> 
> Testing
> -------
> 
> Observed only known test failures with:
> 
> * `make check` (OS X, clang-trunk, w/optimizations, SSL)
> * `make check` and `ROOT` tests on various Linux configurations in internal CI
> 
> 
> Thanks,
> 
> Benjamin Bannier
> 
>


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