Hi James,

James Berry <[EMAIL PROTECTED]> writes:

> I see an issue in the 3.0 codebase with the atomic increment and
> decrement routines:

Nice catch. The current implementation definitely has a problem
with the integer size. Ideally it should be the same size as
sizeof (void*). I would also add that the POSIX implementation
is insane - it serializes all atomic operations through a *global*
mutex. An implementation that uses an individual mutex for each
counter will perform better than this, which makes the whole
exercise pointless.


>       - Remove the routines altogether, if we really don't use them
>       anymore.

Atomic ops were used in deprecated DOM implementation which has been
removed in 3.0.0. It will also take a substantial effort to provide
proper implementation (see above) for all platforms. I am therefore
for removing the thing altogether (If we ever need them (and I really
hope we won't) we will have to provide an implementation that is faster
than mutexes and this will be many times harder than restoring stuff
from SVN).

Boris

-- 
Boris Kolpackov, Code Synthesis Tools
Open source XML data binding for C++:   http://codesynthesis.com/products/xsd
Mobile/embedded validating XML parsing: http://codesynthesis.com/products/xsde

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to