Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5230: Interprocess shared memory between 32 and 64 bit processes
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-03-28 03:27:18
#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
Resolution: | Keywords: shared memory 32 64 bit
--------------------------------------+-------------------------------------
Comment (by xijing dai <dxj19831029@â¦>):
Replying to [comment:9 xijing dai <dxj19831029@â¦>]:
> Replying to [comment:8 tgermer@â¦]:
> > Replying to [comment:7 xijing dai <dxj19831029@â¦>]:
> > > I am currently on version 1.46.1
> > > I would like to get this patch and have a go, is that possible?
> > > where can i get the patch?
> > > do i need to upgrade all my boost libs to trunk head in order to use
it?
> >
> > I'm also on 1.46.1. You just have to update boost/interprocess,
boost/intrusive and boost/move (which is new) to the trunk version in
order to use it. No need to update anything else yet. Currently there is
one open issue to make it work: the namespace conflict. If you want to
resolve it manually, you need to remove the comment from "union
internal_type" in boost/interprocess/offset_ptr.hpp. Then you have to
replace every "detail::" with "::boost::detail::" in aligned_storage.hpp
(the patch that I suggested in comment 4 and also on the mailing list).
>
> First all, thanks to this patch, whoever did it, I really appreciate
their work, it helps me a lot.
>
> I tested in my application, it works great. testing includes:
> * windows_shared_memory
> * message queue
> * managed_windows_shared_memory
> ** create named item
> ** raw allocate
>
> By the way, I didn't change anything relating to the namespace issue, it
passed compiling and worked great.
Interesting, I am not sure if I had wrong testing last week, or I did
something wrong this week.
This week, the program doesn't work properly between 32/64
managed_windows_shared_memory
I do a little trace, when i allocate 1000000 bytes, it said free memory
is: 999912, in 32bit.
in 64 bit, it is: 999848.
For me, it looks like something wrong in: rbtree_best_fit, since when i
trace from get_free_memory method, it gives different values, so I assume
there is some setting wrong for that class.
by the way, I do uncomment union internal_type section, and I didn't
change "detail::" stuff inside aligned_storage.hpp, is that a problem?
Do you have any idea what's going on here?
Cheers
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5230#comment:10> 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:06 UTC