Log Message: |
Change the way we implement shared memory setup for our named atomics.
Instead of using APR's SHM API, we create a persistent file and simply
mmap it.
The only downside to this is that the SHM file does not get cleaned up
automatically anymore. Therefore, we need to update tests and hotcopy
code.
The underlying issue has been analyzed in this thread:
http://svn.haxx.se/dev/archive-2012-10/0423.shtml
* subversion/include/private/svn_named_atomic.h
(svn_atomic_namespace__cleanup): declare new API
* subversion/libsvn_subr/named_atomic.c
(): update global docstring
(svn_atomic_namespace__create): create a persistent file; mmap it
(svn_atomic_namespace__cleanup): implement new API
* subversion/libsvn_fs_fs/fs_fs.c
(cleanup_revprop_namespace): new utility function
(hotcopy_body): fix comment; remove temp atomics files
* subversion/tests/cmdline/svnadmin_tests.py
(check_hotcopy_fsfs): don't compare temp files related to atomics
* subversion/tests/libsvn_subr/named_atomic-test.c
(cleanup_test_shm): new cleanup function
test_basics,
test_bignums,
test_multiple_atomics,
test_namespaces,
test_multithreaded,
test_multiprocess): call the new function
|