You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Benjamin Hindman <be...@berkeley.edu> on 2017/01/08 07:16:59 UTC

Re: Review Request 54825: Made sure process::Loop instances can only be created as shared_ptrs.

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


Fix it, then Ship it!




I'll fix the issue and get it committed, thanks Benjamin!


3rdparty/libprocess/include/process/loop.hpp (line 132)
<https://reviews.apache.org/r/54825/#comment232055>

    Why not use std::make_shared?


- Benjamin Hindman


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


Re: Review Request 54825: Made sure process::Loop instances can only be created as shared_ptrs.

Posted by Benjamin Hindman <be...@berkeley.edu>.

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