Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9143797
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 17, 20262026-06-17T10:06:47+00:00 2026-06-17T10:06:47+00:00

Boost by default is using System V shared memory and creating file for communication.

  • 0

Boost by default is using System V shared memory and creating file for communication. I want it to use POSIX shared memory.

Is their a way to force boost to use POSIX shared memory instead of trying to create a file?

Do I have to change something in source code (Boost.Interprocess)?

I am using 1.46.1 version of boost in my project on OS X (10.6, 10.7 and 10.8). But I can use 1.52.0 too. Before to migrate I want to know if it’s even possible to do.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-17T10:06:49+00:00Added an answer on June 17, 2026 at 10:06 am

    From the documentation, Boost Interprocess will use POSIX when available. Digging further into it, it appears that on Max OSX it does not because the implementation has some non-conforming behavior (according to the header) . Below is the code from boost/interprocess/detail/workaround.hpp.

    //Check for XSI shared memory objects. They are available in nearly all UNIX platforms
       #if !defined(__QNXNTO__)
          #define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
       #endif
    
       #if defined(_POSIX_SHARED_MEMORY_OBJECTS) && ((_POSIX_SHARED_MEMORY_OBJECTS - 0) > 0)
          #define BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS
       #else
          //VMS and MACOS don't define it but they have shm_open/close interface
          #if defined(__vms)
             #if __CRTL_VER >= 70200000
                #define BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS
             #endif
             //Mac OS has some non-conformant features like names limited to SHM_NAME_MAX
          #elif defined (__APPLE__)
             //#define BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS
             //#define BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS_NO_GROW
          #endif
       #endif
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using boost::program_options and want to pass domain-like options to my program. Such
We use boost - so using that library should be fine. But I've never
Is it possible to use boost::fusion::invoke function to call a function that has default
Is the C++ Boost library usually included by default on most Linux distros?
Does Boost, or anything else, contain a container will act like a shared pointer
So, I am having trouble compiling my project that is using boost 1.50.0 libraries,
My system compiler (gcc42) works fine with the TR1 features that I want, but
I'm using Django's standard comment system and I would like to extend its anti-spam
I'm using OSX Mountain Lion. I just downloaded, unpacked, and built boost 1.52.0 using
I found, the hard way , that at least boost::program_options is dependent of the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.