Thank you very much..I could see all the processes mapping the shared memory in the
same address and that is why my program doesnot crash..
 
But cant this change be requested to Boost Multi.Array?? It would be really useful
to allocate a multi array on shared memory..Would the multi array adaptation be
difficult for the multi array developers (i meant to change it)? or should I raise a feature
request for the same..It would be wonderful if the feature comes along with the
boost 1.35 release...
 

 
On Wed, Mar 19, 2008 at 2:23 PM, Ion Gaztaņaga <igaztanaga@gmail.com> wrote:
sankar lingam wrote:
>
>
>             I made the following wrapper over the Boost.InterProcess
> Allocator,
 >
> [...]
>
> and used the shared_allocator as the allocator to Boost.multi_array and
>
> I find it working fine. The boost multi_array allocates and deallocates
> the memory
>
> through shared_allocator.
>
> Am I doing something wrong here??Can it be used this way??

MultiArray will store a raw pointer as a member. This means that if two
processes map the shared memory in different addresses, the process that
didn't create the MultiArray will crash.

This can only work if all processes exactly map the shared memory in the
same address. MultiArray adaptation would require using
allocator::pointer instead of raw pointers as member pointers. In case
you find it useful, latest (SVN) Boost.Multiindex is compatible with
Boost.Interprocess.

Regards,

Ion
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users