1
0
Fork 0

free global instances of collections at shutdown

This commit is contained in:
Jan Steemann 2012-11-16 15:43:48 +01:00
parent 9184fba3ac
commit 541066cdc1
1 changed files with 13 additions and 1 deletions

View File

@ -392,13 +392,25 @@ TRI_transaction_context_t* TRI_CreateTransactionContext (TRI_vocbase_t* const vo
////////////////////////////////////////////////////////////////////////////////
void TRI_FreeTransactionContext (TRI_transaction_context_t* const context) {
uint32_t i, n;
// destroy global transaction lists
DestroyTransactionList(&context->_writeTransactions);
DestroyTransactionList(&context->_readTransactions);
// destroy hashes
// destroy global instances of collections
n = context->_collections._nrAlloc;
for (i = 0; i < n; ++i) {
TRI_transaction_collection_global_t* globalInstance;
globalInstance = (TRI_transaction_collection_global_t*) context->_collections._table[i];
if (globalInstance != NULL) {
FreeCollectionGlobalInstance(globalInstance);
}
}
TRI_DestroyAssociativePointer(&context->_collections);
// destroy mutexts
TRI_DestroyMutex(&context->_lock);
TRI_DestroyMutex(&context->_collectionLock);