Skip to content
Snippets Groups Projects
Forked from atlas / athena
Source project has a limited visibility.
  • scott snyder's avatar
    3ab73357
    StoreGate: Fix potential deadlock between SGImplSvc and DataProxy · 3ab73357
    scott snyder authored
    The SGImplSvc::proxy methods take out a lock on the store, fetch
    the proxy, then call isValid() on the proxy.  DataProxy::isValid()
    will acquire a lock on the proxy and than can call back to the store
    via TransientAddress::contextFromStore().  Thus, we can get a deadlock
    if SGImplSvc::proxy() is called in one thread and DataProxy::isValid()
    in another.
    
    Resolve by releasing the SGImplSvc lock in proxy() before calling
    DataProxy::isValid().
    3ab73357
    History
    StoreGate: Fix potential deadlock between SGImplSvc and DataProxy
    scott snyder authored
    The SGImplSvc::proxy methods take out a lock on the store, fetch
    the proxy, then call isValid() on the proxy.  DataProxy::isValid()
    will acquire a lock on the proxy and than can call back to the store
    via TransientAddress::contextFromStore().  Thus, we can get a deadlock
    if SGImplSvc::proxy() is called in one thread and DataProxy::isValid()
    in another.
    
    Resolve by releasing the SGImplSvc lock in proxy() before calling
    DataProxy::isValid().
Code owners
Assign users and groups as approvers for specific file changes. Learn more.