>From svn_fs_fs__initialize_txn_caches()
[[[
/* We don't support caching for concurrent transactions in the SAME
* FSFS session. Maybe, you forgot to clean POOL. */
if (ffd->txn_dir_cache != NULL || ffd->concurrent_transactions)
{
ffd->txn_dir_cache = NULL;
ffd->concurrent_transactions = TRUE;
return SVN_NO_ERROR;
}
SVN_ERR(create_cache(&ffd->txn_dir_cache, ...));
]]]
So:
2. Presumably create_cache() should be guarded by 'if
(!ffd->concurrent_transactions)'.
3. This writes to an int (ffd->concurrent_transactions) concurrently from
multiple threads. Shouldn't it be using an atomic type instead?
1. Couldn't we simplify this code by taking advantage of ID's being
txn-specific?
283606893804/ <_0.0.t6-7>
283974816614/ <0-4.0.r4/0>