LXXXVIII. Semaphore and Shared Memory Functions
This module provides semaphore functions using System V semaphores. Semaphores may be used
to provide exclusive access to resources on the current machine, or to limit the number of
processes that may simultaneously use a resource.
This module provides also shared memory functions using System V shared memory. Shared
memory may be used to provide access to global variables. Different httpd-daemons and even other
programs (such as Perl, C, ...) are able to access this data to provide a global data-exchange.
Remember, that shared memory is NOT safe against simultaneous access. Use semaphores for
synchronization.
Table 1. Limits of Shared Memory by the Unix OS
| SHMMAX |
max size of shared memory, normally 131072 bytes |
| SHMMIN |
minimum size of shared memory, normally 1 byte |
| SHMMNI |
max amount of shared memory segments on a system, normally
100 |
| SHMSEG |
max amount of shared memory segments per process, normally
6 |
Note: These functions do not work on Windows systems.
- Table of Contents
- sem_get -- Get a semaphore id
- sem_acquire -- Acquire a semaphore
- sem_release -- Release a semaphore
- sem_remove -- Remove a semaphore
- shm_attach -- Creates or open a shared memory
segment
- shm_detach -- Disconnects from shared memory
segment
- shm_remove -- Removes shared memory from Unix
systems
- shm_put_var -- Inserts or updates a variable
in shared memory
- shm_get_var -- Returns a variable from shared
memory
- shm_remove_var -- Removes a variable from
shared memory
- ftok -- Convert a pathname and a project identifier
to a System V IPC key
|