[Boost-bugs] [Boost C++ Libraries] #5230: Interprocess shared memory between 32 and 64 bit processes

Subject: [Boost-bugs] [Boost C++ Libraries] #5230: Interprocess shared memory between 32 and 64 bit processes
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-02-25 13:42:37


#5230: Interprocess shared memory between 32 and 64 bit processes
-------------------------------------+--------------------------------------
 Reporter: tgermer@… | Owner: igaztanaga
     Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: interprocess
  Version: Boost Development Trunk | Severity: Problem
 Keywords: shared memory 32 64 bit |
-------------------------------------+--------------------------------------
 For sharing memory between 32 and 64 bit processes, all structures in
 shared memory must have the same binary layout with matching size_type and
 difference_type. In addition, offset_ptr must be 64bit in this case.

 This is a patch that parameterizes offset_ptr to explicitly accept its
 difference_type along with its internal offset_type. This difference_type
 (and the according size_type) is propagated to all other affected
 structures (memory algorithms, allocators, containers, ...). In 32/64 bit
 shared environments, difference_type should be set to {{{int}}} and
 offset_type to {{{unsigned __int64}}}. The default values are
 {{{ptrdiff_t}}} and {{{size_t}}}.

 Note: rbtree_best_fit also uses offset_type to store its internal block
 sizes, because these need to wrap-around correctly on 64bit machines.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5230>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:05 UTC