shm_unlink2
Remove shared memory object
Usage
#include <sys/mman.h>
int
shm_unlink(const char *name);
Overview
The shm_unlink() function disassociates the shared memory object specified by name from that name. The resources associated with the shared memory object remain intact until the last file descriptor reference is removed, e.g., by close(2) or munmap(2), at which point the resources are reclaimed (if no references exist at the time of the call to shm_unlink(), the resources are reclaimed immediately). The name can only be reused when it is bound to a new shared memory object with a call to shm_open(2) with the O_CREAT flag.
Return values
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error, and the named shared memory object will remain unchanged.
Errors
The shm_unlink() succeeds unless:
- [EACCES]
-
Permission is denied to be remove the object.
- [ENAMETOOLONG]
-
name exceeded the name size limit. This is currently PSHMNAMLEN characters (defined in ⟨sys/posix_shm.h⟩), but this may change in the future.
- [ENOENT]
-
The named object does not exist.
Releases
161 releases since Mac OS X 10.0; the text changed 3 times.