Boost logo

Boost :

From: Darren Garvey (darren.garvey_at_[hidden])
Date: 2008-06-15 07:51:03


Hello Ion,

Title says it all really: the attached mini-program gives me a segmentation
fault on ubuntu linux 8.04 with gcc 4.2.3 when trying to read back the
shared memory between process invocations (trying a similar program on XP
also fails). If the comments on lines 33/34 and 66-67/68-69 are swapped it
works as expected. I've also tried and failed to get it working with my own
types as well as std::string.

Most of the interprocess tests work fine on my system* so I wonder if it's
not possible to use UDTs with this sort of shared memory? I couldn't find
anything in the docs (so far) that suggests what I'm doing is silly/wrong.

Another minor problem I'm getting is that shm_unlink isn't found by default;
adding <library>/boost/thread/ to the dependencies in my Jamfile gets around
this, but I'm not sure what the 'correct' way of fixing this is (do you want
more info about this one?).

Thanks for the library, it simplifies what I'm trying to do loads. :)

Cheers,
Darren

[*] - named_condition_test.cpp fails because:
"""
../../../boost/interprocess/sync/named_condition.hpp:165: error:
'external_unlock' was not declared in this scope
"""

...and unodered_test.cpp fails because:
"""
../../../boost/unordered_set.hpp:479: error: 'struct
boost::unordered_detail::move_from<boost::unordered_multiset<int,
boost::hash<int>, std::equal_to<int>, boost::interprocess::allocator<int,
boost::interprocess::segment_manager<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,
boost::interprocess::offset_ptr<void>, 0u>, boost::interprocess::iset_index>
> > >' has no member named 'base'

<snip>

unordered_test.cpp:29: instantiated from here
../../../boost/unordered_set.hpp:479: error: 'struct
boost::unordered_detail::move_from<boost::unordered_multiset<int,
boost::hash<int>, std::equal_to<int>, boost::interprocess::allocator<int,
boost::interprocess::segment_manager<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,
boost::interprocess::offset_ptr<void>, 0u>, boost::interprocess::iset_index>
> > >' has no member named 'base'
"""




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk