- remove a shared memory object
cc [ flag... ] file... -lrt [ library... ] #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:
Permission is denied to unlink the named shared memory object.
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.
The named shared memory object does not exist.
The shm_unlink() function is not supported by the system.
See attributes(5) for descriptions of the following attributes:
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.