Opened 15 years ago

Closed 14 years ago

#1390 closed Bugs (fixed)

Interpocess: managed shared memory failing completely under OS X

Reported by: jkp@… Owned by: Ion Gaztañaga
Milestone: Boost 1.39.0 Component: interprocess
Version: Boost Development Trunk Severity: Showstopper
Keywords: interprocess shared memory osx Cc:

Description

I haven't got the details with me now but simply trying to build and run the managed shared memory test under os x fails upon run atm.

Seems like there might be an initialised internal mutex.

Take a look or get back to me if you need more info.

Attachments (1)

test.cpp (1.7 KB ) - added by samalone@… 14 years ago.
Code to reproduce this bug

Download all attachments as: .zip

Change History (3)

by samalone@…, 14 years ago

Attachment: test.cpp added

Code to reproduce this bug

comment:1 by samalone@…, 14 years ago

I believe that I have encountered the same problem, and have a test case that consistently demonstrates the bug. I have attached the code as "Test.cpp". If you compile and run this program as-is, it will consistently fail with a bus-error, assertion failure, or infinite loop.

If you compile the test program with -DEXTRA_MUTEX, the code wraps the managed_shared_memory calls with an extra scoped_lock<named_mutex>. This works around the bug, so it certainly seems that the internal mutex in the managed_shared_memory class is being ineffective.

My computer is a PowerBook G4 running Mac OS X Leopard 10.5.3. The compiler is powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465). I have not tried my test case on other platforms.

comment:2 by anonymous, 14 years ago

Milestone: To Be DeterminedBoost 1.39.0
Resolution: fixed
Status: newclosed

Modified inteprocess mutex emulation in UNIX systems. Revision 51971.

Note: See TracTickets for help on using tickets.