Log Message: |
Fix Windows redo loop oddity for named atomics. As it turns out, the redo
loops for file creation and locking don't play very well with files that
get / got deleted. This is the root cause for the bad ra_serf performance
when revprop caching has been enabled.
With this patch, we simply use the same lock file scheme as for e.g. lock
files in FSFS, i.e. we auto-create an empty lock file and keep it.
* subversion/libsvn_subr/named_atomic.c
(mutex_t): Don't keep the lock file open while not holding the lock,
i.e. the mutex is simply the file name and the pool that
will contain the actual file lock.
(lock): Auto-create and lock the file as we do in e.g. FSFS.
(unlock): Simple pool cleanup now released the lock file.
(delete_lock_file): Drop.
(svn_atomic_namespace__create): Update mutex initialization code.
|