Boost logo

Boost Users :

Subject: [Boost-users] shared memory between 32b and 64b
From: Dave Dyer (ddyer-boost_at_[hidden])
Date: 2013-01-15 19:33:49


Looked promising, but not quite good enough. I dedined:

typedef offset_ptr<class T, std::ptrdiff_t, unsigned long long>my_offset_ptr;
typedef basic_managed_shared_memory
    <char
    ,rbtree_best_fit<mutex_family, my_offset_ptr>
    ,iset_index>
        compat32_shared_memory;

in the win64 process I do

        compat32_shared_memory segment(create_only, SEGMENT_NAME, SEGMENT_SIZE);
        comm *command = segment.construct<comm>("CommandBlock")();

in the win32 process in do

        compat32_shared_memory segment(open_only, SEGMENT_NAME);
        std::pair<comm *,size_t>com = segment.find<comm>("CommandBlock");

the "find" never returns.

The code works fine if both processes are win32 or both are win64
Am I on the right track?



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net