On May 19, 2006, at 9:50 AM, Rainer Schuetze wrote:
Hi,
I've downloaded the newest Version from
http://svn.apache.org/repos/asf/logging/log4cxx/trunk
Revision 407808.
But got the problem to get the think compiled.
The class InterlockedExchangePointer couldn't be found. Looking on
the web, the new Code was added on May 13. (http://svn.apache.org/
viewvc/logging/log4cxx/trunk/src/objectptr.cpp?
view=diff&r1=406130&r2=406131&pathrev=406131)
, but where is the mysterious class InterlockedExchangePointer?
regards
Rainer
InterlockedExchangePointer is not a class, but a Windows API method
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
dllproc/base/interlockedexchangepointer.asp). It is available for
all versions of Windows since WIndows 95 according to the API
documentation, but it was not included in the Platform SDK provided
with Visual Studio 6.
In all other places, I had used the Apache Portable Runtime atomics,
however for some reason they do not have just an exchange pointer
method, but only a compare and exchange pointer method. Thought I
would "improve" the Windows build and go directly to the Windows API
that I needed instead of kludging apr_atomic_casptr() to do what I
needed to do.
I've backed out that change in rev 407850.