Search code examples
stringboostmanagedshared-memoryboost-interprocess

Shared memory and strings: managed?


I have a problem with boost::interprocess::string in shared memory.

When I use a shared_memory_object I can manipulate a structure with different fields, BUT strings (I get a segmentation fault).
On the other side, when I use managed_shared_memory everything is fine.

Am I doing something wrong? Do you know if there is a performance penalty using managed_shared_memory?

Thank you!


Solution

  • For using strings in boost interprocess, see this question.

    As for performance, it should be better than most other solution - this is the reason it exists - to share memory between processes. Every other method to share data between process would have an overhead that shared memory don't need (packet header + IO for TCP, DB round trips for DB, etc.)