
8 Nov
2011
8 Nov
'11
9:22 p.m.
On Tuesday, November 08, 2011 22:51:22 Peter Dimov wrote:
The version of Boost is not the issue. The code that operates on the atomics is. The normal way is for the module that creates the lock-free data structure to provide out of line functions which the other modules would call. Inlining these creates the possibility of the modules to get out of sync with each other. For plugin-type DLL uses, this is basically guaranteed.
If in your case modules are separately built and there is a possibility of code inconsistensies then surely inlining is a bad idea. But that doesn't mean that inlining is generally a bad thing when multiple modules are involved. Anyway, it's going slightly off-topic.