title: Linux Shared Memory Synchronization
body: <p>I have implemented two applications that share data using the POSIX shared memory API (i.e. <code>shm_open</code>). One process updates data stored in the shared memory segment and another process reads it. I want to synchronize the access to the shared memory region using some sort of mutex or semaphore. What is the most efficient way of do this? Some mechanisms I am considering are </p>
  
  <ul>
  <li>A POSIX mutex stored in the shared memory segment (Setting the PTHREAD_PROCESS_SHARED attribute would be required)</li>
  <li>Creating a System V semaphore using <code>semget</code></li>
  </ul>