|
[
Permlink
| « Hide
]
Martin Sebor added a comment - 01/Nov/07 12:09 AM
Now that 4.2.0 is released, set Affects Version(s) accordingly.
A few things to consider:
1. The long term goal should be to eliminate the dependency of our headers on any particular implementation of the thread library and abstract everything under a common (stdcxx-only) interface. 2. Another long term goal should be to eliminate the binary incompatibility between reentrant (thread-safe) and ordinary builds. 3. In the meantime, does it make sense to introduce platform-specific subdirectories into the include directory (along the same lines as what we have under src/) or should we follow the _config.h approach taken in rev 382600 (i.e., append a suffix to the basename of the _mutex.h header)? See a proposed patch here: http://www.nabble.com/-PATCH--STDCXX-563-to15186746.html
Added an initial guesstimate and set Severity to Cosmetic.
Here are some observations and suggestions regarding the patch:
Finally, I wonder if instead of adding suffixes to these files and worry about being consistent every time we add a new one it would make sense to add platform-specific directories under include/rw/ instead and move the corresponding files (as well as the rw/_config-*.h headers) there. Thoughts? This would be nice to have but it's not essential. Lowered Priority to Minor.
New patch attached.
ChangeLog: STDCXX-563 * include/rw/_atomic-deccxx.h: New header file with definitions of inline functions for atomic operations on ALPHA platform. * include/rw/_atomic-mipspro.h: New header file with definitions of inline functions for atomic operations on MIPS platform. * include/rw/_atomic-mutex.h: New header file with definitions of inline functions for atomic operations with using mutex object. * include/rw/_atomic-parisc.h: New header file with definitions of inline functions for atomic operations on PA RISC platform. * include/rw/_atomic-sparc.h: New header file with definitions of inline functions for atomic operations on SPARC platform. * include/rw/_atomic-x64.h: New header file with definitions of inline functions for atomic operations on Intel IA64 and X64 platforms. * include/rw/_atomic-x86.h: New header file with definitions of inline functions for atomic operations on Intel X86 platform. * include/rw/_atomic-xlc.h: New header file with definitions of inline functions for atomic operations on POWERPC platform. * include/rw/_atomic.h: New header file with definitions of inline functions for atomic operations. * include/rw/_mutex-dce.h: New header file with definitions of classes for thread safety using DCE threads. * include/rw/_mutex-os2.h: New header file with definitions of classes for thread safety using OS2 threads. * include/rw/_mutex-pthread.h: New header file with definitions of classes for thread safety using POSIX threads. * include/rw/_mutex-solaris.h: New header file with definitions of classes for thread safety using Solaris threads. * include/rw/_mutex-win32.h: New header file with definitions of classes for thread safety using Windows threads. * include/rw/_mutex.h: Split content of the file to the set of platform specific and OS specific headers above. (__rw_get_static_mutex) [!_RWSTD_NO_ATOMIC_OPS && !_PA_RISC2_0]: Use _RWSTD_ATOMIC_PREINCREMENT() on all platforms where atomic increment is available instead of using _InterlockedIncrement() only on Windows. Resolved thus: http://svn.apache.org/viewvc?view=rev&revision=696295
Merged into 4.3.x branch and trunk thus:
http://svn.apache.org/viewvc?view=rev&revision=704152 http://svn.apache.org/viewvc?view=rev&revision=704153 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||