Index Index for
Section 3
Index Alphabetical
listing for M
Bottom of page 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 Index for
Section 3
Index Alphabetical
listing for M
Top of page Top of
page