Opened 9 years ago
Closed 9 years ago
#9193 closed Patches (fixed)
Add DCAS support for Windows 32-bit
Reported by: | Owned by: | timblechmann | |
---|---|---|---|
Milestone: | To Be Determined | Component: | atomic |
Version: | Boost 1.54.0 | Severity: | Problem |
Keywords: | windows x86 | Cc: |
Description
Currently Boost.Atomic does not support 64-bit atomics as lock-free when compiled for 32-bit Windows.
The attached patch adds this ability by using _InterlockedCompareExchange64 (which is the only 64-bit intrinsic available for x86) to synthesise the other operations, albeit with lesser performance than if a "real" atomic were available.
Attachments (1)
Change History (3)
by , 9 years ago
Attachment: | atomic_dcas_win.patch added |
---|
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Possibly I should add that without this patch, Boost.LockFree's queue is not actually lock free when compiled with a pre-C++11 compiler, as tagged_ptr requires DCAS.