summaryrefslogtreecommitdiff
path: root/src/conn/conn_handle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conn/conn_handle.c')
-rw-r--r--src/conn/conn_handle.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/conn/conn_handle.c b/src/conn/conn_handle.c
index 12b4e87e921..16717597f4d 100644
--- a/src/conn/conn_handle.c
+++ b/src/conn/conn_handle.c
@@ -56,6 +56,7 @@ __wt_connection_init(WT_CONNECTION_IMPL *conn)
WT_RET(__wt_rwlock_alloc(session,
&conn->hot_backup_lock, "hot backup"));
WT_RET(__wt_spin_init(session, &conn->las_lock, "lookaside table"));
+ WT_RET(__wt_spin_init(session, &conn->metadata_lock, "metadata"));
WT_RET(__wt_spin_init(session, &conn->reconfig_lock, "reconfigure"));
WT_RET(__wt_spin_init(session, &conn->schema_lock, "schema"));
WT_RET(__wt_spin_init(session, &conn->table_lock, "table creation"));
@@ -123,7 +124,8 @@ __wt_connection_destroy(WT_CONNECTION_IMPL *conn)
* underlying file-close code uses the mutex to guard lists of
* open files.
*/
- WT_TRET(__wt_close(session, &conn->lock_fh));
+ if (conn->lock_fh)
+ WT_TRET(__wt_close(session, &conn->lock_fh));
/* Remove from the list of connections. */
__wt_spin_lock(session, &__wt_process.spinlock);
@@ -143,6 +145,7 @@ __wt_connection_destroy(WT_CONNECTION_IMPL *conn)
__wt_spin_destroy(session, &conn->fh_lock);
WT_TRET(__wt_rwlock_destroy(session, &conn->hot_backup_lock));
__wt_spin_destroy(session, &conn->las_lock);
+ __wt_spin_destroy(session, &conn->metadata_lock);
__wt_spin_destroy(session, &conn->reconfig_lock);
__wt_spin_destroy(session, &conn->schema_lock);
__wt_spin_destroy(session, &conn->table_lock);