Boost logo

Boost Users :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2006-10-14 17:16:38


> Hello!

Hi,

>
> I'm having trouble porting my application from boost.shmem to
> boost.interprocess. Here are my typedefs:

Thanks for the code. I'll try to see what's happening, but it seems a
bit strange. Which Interprocess version are you using? I'll recommend
you to test your code agains latest cvs code. Apart from that, can you
tell which system are you using, windows, or unix? And, can you which is
the value of SEGMENT_SIZE, SEGMENT_NAME, MAP_NAME you are using (it
shouldn't matter, but who knows...)?

> The myMap pointer in the second process is not NULL, it has the same
> value as in the first process. Everything worked fine with
> boost.shmem. Anybody got a clue, what is wrong here and what is so
> different between how boost.shmem and boost.inteprocess perform these
> operations?

In theory, apart from some bug fixes, the mechanism is the same, but I
might have introduced some bug. However, you say both base addresses are
the same, so the bug does not seems to be related to using absolute
addresses somewhere in the internal code by mistake.

> Can boost.shmem and boost.interprocess coexist? If I'm stuck with
> boost.shmem for storing the map in shared memory, can I still use an
> upgradable mutex from boost.interprocess?

I haven't tested it but as long as you use only upgradable mutex from
Interprocess, all should work. But don't try to mix managed shared
memory from Interprocess with allocators from Shmem, for example,
because it will crash.

> Thanks,
> Szilard

Regards,

Ion


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