Man Linux: Main Page and Category List

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 Technology
       --  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 .