I'm using managed_mapped_file to hold an index for a small property
database.
In various operations of
boost
::interprocess::rbtree_best_fit the process frequently
blocks on boost::interprocess::interprocess_mutex::lock
I synchronize all access to this file using interprocess mutex
utilities, so write access is restricted to one single-threaded
process at a time. I have looked for a deadlock between my outer mutex
and the allocator's mutex, but I haven't been able to detect any
process blocking on my mutex. It also might be that a process crashes
while holding the allocator mutex,
but in that case I don't know how to flush the allocators mutex (like
I can with my own).
I'm wondering if I need the allocator mutex at all, since I provide
synchronization at a higher level.
Is it possible to create a:
typedef basic_managed_mapped_file< char,rbtree_best_fit< mutex_family
,iset_index > managed_mapped_file;
That uses some kind of no-op mutex family? Can anyone give me a hint
how to declare such a thing?
Thanks much for any advice,
Andy