diff --git a/src/image/ImageManagerActions.cc b/src/image/ImageManagerActions.cc index ad1b8e2627..58f41d3d33 100644 --- a/src/image/ImageManagerActions.cc +++ b/src/image/ImageManagerActions.cc @@ -296,6 +296,7 @@ int ImageManager::delete_image(int iid, const string& ds_data) if ( imd == 0 ) { + img->unlock(); return -1; } diff --git a/src/pool/PoolSQL.cc b/src/pool/PoolSQL.cc index 0d167e2d4f..12835f7cc6 100644 --- a/src/pool/PoolSQL.cc +++ b/src/pool/PoolSQL.cc @@ -187,6 +187,7 @@ PoolObjectSQL * PoolSQL::get( if ( objectsql->isValid() == false ) { + objectsql->unlock(); objectsql = 0; } } @@ -276,7 +277,6 @@ PoolObjectSQL * PoolSQL::get(const string& name, int ouid, bool olock) if ( objectsql->isValid() == false ) { objectsql->unlock(); - objectsql = 0; } }