Modify

Ticket #1390 (closed Bugs: fixed)

Opened 6 years ago

Last modified 5 years ago

Interpocess: managed shared memory failing completely under OS X

Reported by: jkp@… Owned by: igaztanaga
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

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

Change History

Changed 6 years ago by samalone@…

Code to reproduce this bug

comment:1 Changed 6 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 5 years ago by anonymous

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone changed from To Be Determined to Boost 1.39.0

Modified inteprocess mutex emulation in UNIX systems. Revision 51971.

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


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

 
Note: See TracTickets for help on using tickets.