You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-user@logging.apache.org by Rainer Schuetze <sc...@geoinform.fh-mainz.de> on 2006/05/19 16:50:28 UTC

InterlockedExchangePointer doesn't exists

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


-- 
Rainer Schuetze

i3mainz - Fachhochschule Mainz
Holzstrasse 36
55116 Mainz
Germany

Tel: +49 (0)6131 2859 682
Fax: +49 (0)6131 2859 699
schuetze@geoinform.fh-mainz.de
http://www.i3mainz.fh-mainz.de

Re: InterlockedExchangePointer doesn't exists

Posted by Rainer Schuetze <sc...@geoinform.fh-mainz.de>.
Hallo Curt,

thanks for your fast revision and thanks for the link. I also tried the 
previous version (Revision 407808) by including the header (as written 
in the doc), but this version also failed.
The actual version with the APR works fine.

Regards,
Rainer

Curt Arnold schrieb:
> 
> 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.
> 

-- 
Rainer Schuetze

i3mainz - Fachhochschule Mainz
Holzstrasse 36
55116 Mainz
Germany

Tel: +49 (0)6131 2859 682
Fax: +49 (0)6131 2859 699
schuetze@geoinform.fh-mainz.de
http://www.i3mainz.fh-mainz.de

Re: InterlockedExchangePointer doesn't exists

Posted by Curt Arnold <ca...@apache.org>.
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.