diff options
-rw-r--r-- | src/include/schema.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/schema.h b/src/include/schema.h index 25c1baae60f..5d524534b39 100644 --- a/src/include/schema.h +++ b/src/include/schema.h @@ -125,12 +125,18 @@ struct __wt_table { WT_CONNECTION_IMPL *__conn = S2C(session); \ int __handle_locked = \ F_ISSET(session, WT_SESSION_HANDLE_LIST_LOCKED);\ + int __table_locked = \ + F_ISSET(session, WT_SESSION_TABLE_LOCKED); \ int __schema_locked = \ F_ISSET(session, WT_SESSION_SCHEMA_LOCKED); \ if (__handle_locked) { \ F_CLR(session, WT_SESSION_HANDLE_LIST_LOCKED); \ __wt_spin_unlock(session, &__conn->dhandle_lock);\ } \ + if (__table_locked) { \ + F_CLR(session, WT_SESSION_TABLE_LOCKED); \ + __wt_spin_unlock(session, &__conn->table_lock);\ + } \ if (__schema_locked) { \ F_CLR(session, WT_SESSION_SCHEMA_LOCKED); \ __wt_spin_unlock(session, &__conn->schema_lock);\ @@ -140,6 +146,10 @@ struct __wt_table { __wt_spin_lock(session, &__conn->schema_lock); \ F_SET(session, WT_SESSION_SCHEMA_LOCKED); \ } \ + if (__table_locked) { \ + __wt_spin_lock(session, &__conn->table_lock); \ + F_SET(session, WT_SESSION_TABLE_LOCKED); \ + } \ if (__handle_locked) { \ __wt_spin_lock(session, &__conn->dhandle_lock); \ F_SET(session, WT_SESSION_HANDLE_LIST_LOCKED); \ |