shmdt - Detach a shared memory region
const void *addr );
Application developers may want to specify an #include
statement for <sys/types.h> and <sys/ipc.h> before the one
for <sys/shm.h> if programs are being developed for multiple
platforms. The additional #include statements are not
required on Tru64 UNIX systems or by ISO or XSH standards,
but may be on other vendors' systems that conform to these
Interfaces documented on this reference page conform to
industry standards as follows:
shmdt(): XSH4.0, XSH4.2, XSH5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Specifies the starting virtual address for the shared memory
region to be detached. This is the address returned by
a previous shmat() call.
The shmdt() function detaches the shared memory region at
the address specified by the addr parameter from the
address space of the calling process. Other instances of
the region attached at other addresses are unaffected.
The librt library contains alternative interfaces for
interprocess communication. The names of these routines
adhere to the format shm_* and their reference pages are
listed in SEE ALSO.
Upon successful completion, the shmdt() function decrements
the value of shm_nattach in the data structure associated
with the shared memory ID of the attached shared
memory segment and returns 0 (zero). Upon failure, the
shared memory segment is not detached, -1 is returned, and
errno is set to indicate the error.
The shmdt() function sets errno to the specified values
for the following conditions: The addr parameter does not
specify the starting address of a shared memory region.
Functions: shmat(2), shmctl(2), shmget(2), shm_open(3),
Data structures: shmid_ds(4)
[ Back ]