Fix 64b segments from 32b code #271
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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