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



3rdparty/libprocess/include/process/gmock.hpp
<https://reviews.apache.org/r/28052/#comment105706>

    The type_info::name() is (on linux, x86_64 using the standard ABI) defined 
to be the symbol name.
    
    See: https://mentorembedded.github.io/cxx-abi/abi.html#typeid
    
    Other platforms don't have the same ABI spec though.


- Cody Maloney


On Nov. 20, 2014, 9 a.m., Timothy Chen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28052/
> -----------------------------------------------------------
> 
> (Updated Nov. 20, 2014, 9 a.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-2112
>     https://issues.apache.org/jira/browse/MESOS-2112
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> The fix in this rb is to instead of matching pointer values, but to compare 
> type_info from the member function pointers passed in. This ensures we're 
> matching the same method.
>               
>               
> The downside of this approach is that, we no longer can do the following in 
> tests:            
>               
> class A : ProcessBase<A> {
> public:
>   virtual void foo() {};
> };
>                               
> class B : public A {
> public:
>   virtual void foo() {};
> };
>               
> Future<Nothing> future = FUTURE_DISPATCH(_, &B::foo);
>               
> process.dispatch(B.self(), &A::foo);
>               
> AWAIT_READY(future);
>               
> We no longer can match the future on a derived method, but on dispatch 
> passing the base member function pointer. This only used to work since the 
> virtual offsets of both is matching the same address, but arguable is not the 
> right behavior since the reverse is a false positive but will also match. 
> We've done this in a few places in tests around the AllocatorProcess.
> 
> Review: https://reviews.apache.org/r/28052
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/include/process/c++11/dispatch.hpp 
> 76da2828cf36b6143d627dac66f3e0cc4416bae4 
>   3rdparty/libprocess/include/process/dispatch.hpp 
> bceda2a2ae8963921e8e19660243a8644feab227 
>   3rdparty/libprocess/include/process/event.hpp 
> 294e2158876b25b06456a3619e547082d71e31ed 
>   3rdparty/libprocess/include/process/gmock.hpp 
> d6f2fc8fef8acd1498a36c86e09b28d986eefa15 
>   3rdparty/libprocess/src/process.cpp 
> 7a986d7defb03043ec70a48e161ede50deef9b26 
> 
> Diff: https://reviews.apache.org/r/28052/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Timothy Chen
> 
>

Reply via email to