Skip to content

Conversation

@rp42
Copy link

@rp42 rp42 commented Sep 12, 2025

Fix for code that shares boost::interprocess::basic_managed_shared_memory between a 64b and 32b process as described here: https://stackoverflow.com/a/63224381

Prior code doesn't compile:
detail\segment_manager_helper.hpp(391,14): error : no matching function for call to 'get_rounded_size'

The template parameter type for ipcdetail::block_header::name_offset<> is 32b (std::size_t), whereas the other sizes are 64b (uint64_t). This causes the get_rounded_size() template to be rejected since both arguments are not of the same type.

#270

Fix for code that shares boost::interprocess::basic_managed_shared_memory between a 64b and 32b process as described here: https://stackoverflow.com/a/63224381

Prior code doesn't compile:
detail\segment_manager_helper.hpp(391,14): error : no matching function for call to 'get_rounded_size'

The template parameter type for ipcdetail::block_header<unsigned long long>::name_offset<> is 32b (std::size_t), whereas the other sizes are 64b (uint64_t). This causes the get_rounded_size() template to be rejected since both arguments are not of the same type.

boostorg#270
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant