Modify

Opened 10 years ago

Closed 9 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@… 9 years ago.
Code to reproduce this bug

Download all attachments as: .zip

Change History (3)

Changed 9 years ago by samalone@…

Attachment: test.cpp added

Code to reproduce this bug

comment:1 Changed 9 years ago by samalone@…

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 Changed 9 years ago by anonymous

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

Modified inteprocess mutex emulation in UNIX systems. Revision 51971.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Ion Gaztañaga.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.