SHM_UNLINK(3C) Standard C Library Functions SHM_UNLINK(3C)

shm_unlink - remove a shared memory object

#include <sys/mman.h>
int shm_unlink(const char *name);

The shm_unlink() function removes the name of the shared memory object named by the string pointed to by name. If one or more references to the shared memory object exists when the object is unlinked, the name is removed before shm_unlink() returns, but the removal of the memory object contents will be postponed until all open and mapped references to the shared memory object have been removed.

Upon successful completion, shm_unlink() returns 0. Otherwise it returns −1 and sets errno to indicate the error condition, and the named shared memory object is not affected by this function call.

The shm_unlink() function will fail if:

EACCES

Permission is denied to unlink the named shared memory object.

ENAMETOOLONG

The length of the name string exceeds PATH_MAX, or a pathname component is longer than NAME_MAX while _POSIX_NO_TRUNC is in effect.

ENOENT

The named shared memory object does not exist.

ENOSYS

The shm_unlink() function is not supported by the system.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
Standard See standards(7).

close(2), mmap(2), mlock(3C), shm_open(3C), attributes(7), standards(7)

Solaris 2.6 was the first release to support the Asynchronous Input and Output option. Prior to this release, this function always returned −1 and set errno to ENOSYS.

February 5, 2008 OmniOS