shm_unlink(3) Library Functions Manual shm_unlink(3)NAME
shm_unlink - Removes a shared memory object created by a call to the shm_open function (P1003.1b)
LIBRARY
Realtime Library (librt.so, librt.a)
SYNOPSIS
#include <sys/mman.h>
int shm_unlink (
const char *name);
PARAMETERS
*name Points to the name of the shared memory object.
DESCRIPTION
The shm_unlink function removes the name of the shared memory object pointed to by name. If this file descriptor is used by other func-
tions, all references to the shared memory object are removed, but content removal is delayed until all open and mapped references to the
shared memory object are removed.
RETURN VALUES
On a successful call to the shm_unlink function, a value of 0 (zero) is returned. Otherwise, a value of -1 is returned and errno is set to
indicate the error.
ERRORS
The shm_unlink function fails under the following conditions:
[EACCES] Permission to unlink the shared memory object is denied.
[ENAMETOOLONG] The length of the name argument 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.
RELATED INFORMATION
Functions: close(2), mmap(2), munmap(2), shm_open(3)
Guide to Realtime Programming delim off
shm_unlink(3)
Check Out this Related Man Page
SHM_UNLINK(3P) POSIX Programmer's Manual SHM_UNLINK(3P)PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the correspond-
ing Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.
NAME
shm_unlink - remove a shared memory object (REALTIME)
SYNOPSIS
#include <sys/mman.h>
int shm_unlink(const char *name);
DESCRIPTION
The shm_unlink() function shall remove 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 exist when the object is unlinked, the name shall be removed before shm_unlink()
returns, but the removal of the memory object contents shall be postponed until all open and map references to the shared memory object
have been removed.
Even if the object continues to exist after the last shm_unlink(), reuse of the name shall subsequently cause shm_open() to behave as if no
shared memory object of this name exists (that is, shm_open() will fail if O_CREAT is not set, or will create a new shared memory object if
O_CREAT is set).
RETURN VALUE
Upon successful completion, a value of zero shall be returned. Otherwise, a value of -1 shall be returned and errno set to indicate the
error. If -1 is returned, the named shared memory object shall not be changed by this function call.
ERRORS
The shm_unlink() function shall fail if:
EACCES Permission is denied to unlink the named shared memory object.
ENAMETOOLONG
The length of the name argument exceeds {PATH_MAX} or a pathname component is longer than {NAME_MAX}.
ENOENT The named shared memory object does not exist.
The following sections are informative.
EXAMPLES
None.
APPLICATION USAGE
Names of memory objects that were allocated with open() are deleted with unlink() in the usual fashion. Names of memory objects that were
allocated with shm_open() are deleted with shm_unlink(). Note that the actual memory object is not destroyed until the last close and unmap
on it have occurred if it was already in use.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
close(), mmap(), munmap(), shmat(), shmctl(), shmdt(), shm_open(), the Base Definitions volume of IEEE Std 1003.1-2001, <sys/mman.h>
COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technol-
ogy -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE
and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained
online at http://www.opengroup.org/unix/online.html .
IEEE /The Open Group 2003 SHM_UNLINK(3P)