src/bvar/detail/combiner.h
result_type* lock() {
        _a->element._lock.Release();
        _c->_lock.Acquire();
        return &_c->_global_result;
    }
// Call this method to unlock tls element and lock the combiner.
// Unlocking tls element avoids potential deadlock with
// AgentCombiner::reset(), which also means that tls element may be
// changed during calling of this method. BE AWARE OF THIS!
// After this method is called (and before unlock), tls element and
// global_result will not be changed provided this method is called
// from the thread owning the agent.
Call this method to unlock tls element and lock the combiner.
Unlocking tls element avoids potential deadlock with
AgentCombiner::reset(), which also means that tls element may be
changed during calling of this method. BE AWARE OF THIS.
After this method is called (and before unlock), tls element and
global_result will not be changed provided this method is called
from the thread owning the agent.
Call this method to unlock tls element and lock the combiner . Unlocking tls element avoids potential deadlock with AgentCombiner :: reset () which also means that tls element may be changed during calling of this method . BE AWARE OF THIS . After this method is called ( and before unlock ) tls element and global_result will not be changed provided this method is called from the thread owning the agent .
result_type* lock() {
        _a->element._lock.Release();
        _c->_lock.Acquire();
        return &_c->_global_result;
    }
result_type * lock ( ) { _a -> element . _lock . Release ( ) ; _c -> _lock . Acquire ( ) ; return & _c -> _global_result ; }
Call this method to unlock tls element and lock the combiner.
Call this method to unlock tls element and lock the combiner .