]> git.saurik.com Git - apple/xnu.git/blob - bsd/man/man2/shm_unlink.2
xnu-3248.20.55.tar.gz
[apple/xnu.git] / bsd / man / man2 / shm_unlink.2
1 .\" $Darwin$
2 .\"
3 .\" Copyright (c) 1999-2002 Apple Computer, Inc. All rights reserved.
4 .\"
5 .\" @APPLE_LICENSE_HEADER_START@
6 .\"
7 .\" The contents of this file constitute Original Code as defined in and
8 .\" are subject to the Apple Public Source License Version 1.1 (the
9 .\" "License"). You may not use this file except in compliance with the
10 .\" License. Please obtain a copy of the License at
11 .\" http://www.apple.com/publicsource and read it before using this file.
12 .\"
13 .\" This Original Code and all software distributed under the License are
14 .\" distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 .\" EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 .\" INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 .\" FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
18 .\" License for the specific language governing rights and limitations
19 .\" under the License.
20 .\"
21 .\" @APPLE_LICENSE_HEADER_END@
22 .\"
23 .Dd August 31, 2006
24 .Dt SHM_UNLINK 2
25 .Os Darwin
26 .Sh NAME
27 .Nm shm_unlink
28 .Nd remove shared memory object
29 .Sh SYNOPSIS
30 .Fd #include <sys/mman.h>
31 .Ft int
32 .Fn shm_unlink "const char *name"
33 .Sh DESCRIPTION
34 The
35 .Fn shm_unlink
36 function disassociates the shared memory object specified by
37 .Fa name
38 from that name.
39 The resources associated with the shared memory object remain intact
40 until the last file descriptor reference is removed, e.g., by
41 .Xr close 2
42 or
43 .Xr munmap 2 ,
44 at which point the resources are reclaimed
45 (if no references exist at the time of the call to
46 .Fn shm_unlink ,
47 the resources are reclaimed immediately).
48 The name can only be reused
49 when it is bound to a new shared memory object with a call to
50 .Xr shm_open 2
51 with the
52 .Dv O_CREAT
53 flag.
54 .Sh RETURN VALUES
55 Upon successful completion, a value of 0 is returned.
56 Otherwise, a value of -1 is returned and
57 .Va errno
58 is set to indicate the error,
59 and the named shared memory object will remain unchanged.
60 .Sh ERRORS
61 The
62 .Fn shm_unlink
63 succeeds unless:
64 .Bl -tag -width Er
65 .It Bq Er EACCES
66 Permission is denied to be remove the object.
67 .It Bq Er ENAMETOOLONG
68 .Fa name
69 exceeded the name size limit.
70 This is currently
71 .Dv PSHMNAMLEN
72 characters (defined in
73 .In sys/posix_shm.h ) ,
74 but this may change in the future.
75 .It Bq Er ENOENT
76 The named object does not exist.
77 .El
78 .Sh SEE ALSO
79 .Xr close 2 ,
80 .Xr mmap 2 ,
81 .Xr munmap 2 ,
82 .Xr shm_open 2 ,
83 .Xr shmat 2 ,
84 .Xr shmctl 2
85 .Sh HISTORY
86 .Fn shm_open
87 is specified in the POSIX Realtime Extension (1003.1b-1993/1003.1i-1995).