Provided by: manpages-posix-dev_2017a-2_all bug

PROLOG

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

NAME

       shmdt — XSI shared memory detach operation

SYNOPSIS

       #include <sys/shm.h>

       int shmdt(const void *shmaddr);

DESCRIPTION

       The  shmdt()  function  operates  on  XSI shared memory (see the Base Definitions volume of POSIX.1‐2017,
       Section 3.346, Shared Memory Object).  It is unspecified whether this  function  interoperates  with  the
       realtime interprocess communication facilities defined in Section 2.8, Realtime.

       The  shmdt() function detaches the shared memory segment located at the address specified by shmaddr from
       the address space of the calling process.

RETURN VALUE

       Upon successful completion, shmdt() shall decrement  the  value  of  shm_nattch  in  the  data  structure
       associated  with  the  shared  memory  ID  of  the attached shared memory segment and return 0. Also, the
       shm_dtime timestamp shall be set to the  current  time,  as  described  in  Section  2.7.1,  IPC  General
       Description.

       Otherwise,  the  shared memory segment shall not be detached, shmdt() shall return -1, and errno shall be
       set to indicate the error.

ERRORS

       The shmdt() function shall fail if:

       EINVAL The value of shmaddr is not the data segment start address of a shared memory segment.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The POSIX Realtime Extension defines alternative interfaces for interprocess  communication.  Application
       developers  who  need  to use IPC should design their applications so that modules using the IPC routines
       described in Section 2.7, XSI Interprocess Communication can be easily modified to  use  the  alternative
       interfaces.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       Section  2.7,  XSI  Interprocess  Communication,  Section  2.8,  Realtime, exec, exit(), fork(), shmat(),
       shmctl(), shmget(), shm_open(), shm_unlink()

       The Base Definitions volume of POSIX.1‐2017, Section 3.346, Shared Memory Object, <sys_shm.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard
       for  Information  Technology  --  Portable  Operating  System  Interface  (POSIX),  The  Open  Group Base
       Specifications Issue 7, 2018 Edition, Copyright (C) 2018 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 .

       Any  typographical  or formatting errors that appear in this page are most likely to have been introduced
       during  the  conversion  of  the  source  files  to  man  page  format.  To  report  such   errors,   see
       https://www.kernel.org/doc/man-pages/reporting_bugs.html .