Reference

shm_unlink(2)

remove shared memory object

NAME

shm_unlink – remove shared memory object

SYNOPSIS

#include <sys/mman.h>

int

shm_unlink(const char *name);

DESCRIPTION

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.

SEE ALSO

close(2), mmap(2), munmap(2), shm_open(2), shmat(2), shmctl(2)

HISTORY

shm_open() is specified in the POSIX Realtime Extension (1003.1b-1993/1003.1i-1995).

History