>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>