 |
Index for Section 3 |
|
 |
Alphabetical listing for M |
|
 |
Bottom of page |
|
msem_init(3)
NAME
msem_init - Initialize a semaphore in a mapped file or shared memory region
SYNOPSIS
#include <sys/mman.h>
msemaphore *msem_init(
msemaphore *sem ,
int initial_value );
LIBRARY
Standard C Library (libc)
PARAMETERS
sem Points to an msemaphore structure in which the state of the semaphore
is stored.
initial_value
Determines whether the semaphore is locked or unlocked at allocation.
DESCRIPTION
The msem_init() function allocates a new binary semaphore and initializes
the state of the new semaphore.
If the initial_value parameter is MSEM_LOCKED, the new semaphore is
initialized in the locked state. If the initial_value parameter is
MSEM_UNLOCKED, the new semaphore is initialized in the unlocked state.
The msemaphore structure is located within a mapped file or shared memory
region created by a successful call to the mmap() function and having both
read and write access.
If a semaphore is created in a mapped file region, any reference by a
process which has mapped the same file, using a (struct msemaphore *)
pointer which resolves to the same file offset, is taken as a reference to
the same semaphore. If a semaphore is created in an anonymous shared memory
region, any reference by a process which shares the same region, using a
(struct msemaphore *) pointer which resolves to the same offset from the
start of the region, is taken as a reference to the same semaphore.
Any previous semaphore state stored in the msemaphore structure is ignored
and overwritten.
NOTES
AES Support Level:
Trial use
RETURN VALUES
Upon successful completion, the msem_init() function returns a pointer to
the initialized msemaphore structure. On error, the msem_init() function
returns null and sets errno to indicate the error.
ERRORS
If the msem_init() function fails, errno may be set to one of the following
values:
[EINVAL]
The initial_value parameter is not valid.
[ENOMEM]
A new semaphore could not be created.
SEE ALSO
Functions: mmap(2), msem_lock(3), msem_remove(3), msem_unlock(3)
 |
Index for Section 3 |
|
 |
Alphabetical listing for M |
|
 |
Top of page |
|