diff --git a/Control/SGTools/SGTools/DataProxy.h b/Control/SGTools/SGTools/DataProxy.h index 0f3740f56da2a6a456bce363936e7ee64e6f2cdc..0f886363220347d700b4d302f0e82ac4bab61107 100755 --- a/Control/SGTools/SGTools/DataProxy.h +++ b/Control/SGTools/SGTools/DataProxy.h @@ -250,7 +250,7 @@ class DataStore; * * Returns a null pointer on failure. */ - std::unique_ptr<DataObject> readData() const; + std::unique_ptr<DataObject> readData(); private: @@ -368,7 +368,7 @@ class DataStore; * This will fail if the proxy does not refer to an object read from an * input file. */ - std::unique_ptr<DataObject> readData (objLock_t& objLock, ErrNo* errNo) const; + std::unique_ptr<DataObject> readData (objLock_t& objLock, ErrNo* errNo); /// set DataObject diff --git a/Control/SGTools/src/DataProxy.cxx b/Control/SGTools/src/DataProxy.cxx index f76acf29fc30e2ae65f36e4e2369b2ad98efaf54..3c4709ac112da6e06d153853e4cc2a924a06829e 100755 --- a/Control/SGTools/src/DataProxy.cxx +++ b/Control/SGTools/src/DataProxy.cxx @@ -427,7 +427,7 @@ void DataProxy::setAddress(IOpaqueAddress* address) * * Returns a null pointer on failure. */ -std::unique_ptr<DataObject> DataProxy::readData() const +std::unique_ptr<DataObject> DataProxy::readData() { // Public wrapper for readData(). objLock_t objLock (m_objMutex); @@ -446,7 +446,7 @@ std::unique_ptr<DataObject> DataProxy::readData() const * This will fail if the proxy does not refer to an object read from an * input file. */ -std::unique_ptr<DataObject> DataProxy::readData (objLock_t&, ErrNo* errNo) const +std::unique_ptr<DataObject> DataProxy::readData (objLock_t&, ErrNo* errNo) { if (errNo) *errNo = ALLOK; diff --git a/Control/SGTools/src/DataStore.cxx b/Control/SGTools/src/DataStore.cxx index f68f1d3b9e604648dd4dd7c1bd2bee3abea587b9..d432711020d1708a9b4001c40cef4c95a515a807 100755 --- a/Control/SGTools/src/DataStore.cxx +++ b/Control/SGTools/src/DataStore.cxx @@ -447,7 +447,10 @@ DataProxy* DataStore::proxy_exact(sgkey_t sgkey) const DataProxy* DataStore::proxy_exact(const CLID& id, const std::string& key) const { - return proxy_exact (m_pool.stringToKey (key, id)); + // Suppress warning here about calling to a nonconst method + // of m_pool. Ok since all callers here must own the store lock. + IProxyDict& pool_nc ATLAS_THREAD_SAFE = m_pool; + return proxy_exact (pool_nc.stringToKey (key, id)); }