|
Threads-Devel : |
From: Roland Schwarz (roland.schwarz_at_[hidden])
Date: 2006-04-04 11:43:41
Anthony Williams wrote:
> I have added a comment. I believe we can close this bug.
Thank you. I've closed it now. It is interesting though that mingw
depends on the c runtime library.
> I discovered that I do have a 64-bit compiler, since it comes with the
> Platform SDK, though I don't have a 64-bit system to test on. However, I can
> reproduce the problem.
Aha. I've not looked into the SDK for this yet. Good to know.
> I'm inclined to think that this is a bug in the Platform SDK, rather than in
> Boost, since there's nothing in the docs that says you can't take the address
> of the function.
I suspect this is not a function at all. Did you try to look at the
assembly level?
> Anyway, the fix does indeed seem to be to replace the ice_wrapper stuff with a
> direct call to InterlockedCompareExchange.
Can't you possibly make use of what is already in
boost/detail/interlocked.hpp ? I.e. essentially what you are proposing,
but hopefully already tested.
Roland