nightly: remove unused BINARCHIVE
[unleashed.git] / share / man / man3c / sem_close.3c
blobf50da893743cf81899c206451ee0a40bfb088a2e
1 .\"
2 .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for
3 .\" permission to reproduce portions of its copyrighted documentation.
4 .\" Original documentation from The Open Group can be obtained online at
5 .\" http://www.opengroup.org/bookstore/.
6 .\"
7 .\" The Institute of Electrical and Electronics Engineers and The Open
8 .\" Group, have given us permission to reprint portions of their
9 .\" documentation.
10 .\"
11 .\" In the following statement, the phrase ``this text'' refers to portions
12 .\" of the system documentation.
13 .\"
14 .\" Portions of this text are reprinted and reproduced in electronic form
15 .\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition,
16 .\" Standard for Information Technology -- Portable Operating System
17 .\" Interface (POSIX), The Open Group Base Specifications Issue 6,
18 .\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics
19 .\" Engineers, Inc and The Open Group.  In the event of any discrepancy
20 .\" between these versions and the original IEEE and The Open Group
21 .\" Standard, the original IEEE and The Open Group Standard is the referee
22 .\" document.  The original Standard can be obtained online at
23 .\" http://www.opengroup.org/unix/online.html.
24 .\"
25 .\" This notice shall appear on any product containing this material.
26 .\"
27 .\" The contents of this file are subject to the terms of the
28 .\" Common Development and Distribution License (the "License").
29 .\" You may not use this file except in compliance with the License.
30 .\"
31 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
32 .\" or http://www.opensolaris.org/os/licensing.
33 .\" See the License for the specific language governing permissions
34 .\" and limitations under the License.
35 .\"
36 .\" When distributing Covered Code, include this CDDL HEADER in each
37 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
38 .\" If applicable, add the following below this CDDL HEADER, with the
39 .\" fields enclosed by brackets "[]" replaced with your own identifying
40 .\" information: Portions Copyright [yyyy] [name of copyright owner]
41 .\"
42 .\"
43 .\" Copyright 1989 AT&T
44 .\" Portions Copyright (c) 1992, X/Open Company Limited  All Rights Reserved
45 .\" Copyright (c) 2008, Sun Microsystems, Inc.  All Rights Reserved
46 .\"
47 .TH SEM_CLOSE 3C "Feb 5, 2008"
48 .SH NAME
49 sem_close \- close a named semaphore
50 .SH SYNOPSIS
51 .LP
52 .nf
53 #include <semaphore.h>
55 \fBint\fR \fBsem_close\fR(\fBsem_t *\fR\fIsem\fR);
56 .fi
58 .SH DESCRIPTION
59 .sp
60 .LP
61 The \fBsem_close()\fR function is used to indicate that the calling process is
62 finished using the named semaphore indicated by \fIsem\fR. The effects of
63 calling \fBsem_close()\fR for an unnamed semaphore (one created by
64 \fBsem_init\fR(3C)) are undefined. The \fBsem_close()\fR function deallocates
65 (that is, make available for reuse by a subsequent \fBsem_open\fR(3C) by this
66 process) any system resources allocated by the system for use by this process
67 for this semaphore. The effect of subsequent use of the semaphore indicated by
68 \fIsem\fR by this process is undefined. If the semaphore has not been removed
69 with a successful call to \fBsem_unlink\fR(3C), then \fBsem_close()\fR has no
70 effect on the state of the semaphore. If the \fBsem_unlink\fR(3C) function has
71 been successfully invoked for \fIname\fR after the most recent call to
72 \fBsem_open\fR(3C) with \fBO_CREAT\fR for this semaphore, then when all
73 processes that have opened the semaphore close it, the semaphore is no longer
74 be accessible.
75 .SH RETURN VALUES
76 .sp
77 .LP
78 If successful, \fBsem_close()\fR returns \fB0\fR, otherwise it returns
79 \fB\(mi1\fR and sets \fBerrno\fR to indicate the error.
80 .SH ERRORS
81 .sp
82 .LP
83 The \fBsem_close()\fR function will fail if:
84 .sp
85 .ne 2
86 .na
87 \fB\fBEINVAL\fR \fR
88 .ad
89 .RS 11n
90 The \fIsem\fR argument is not a valid semaphore descriptor.
91 .RE
93 .sp
94 .ne 2
95 .na
96 \fB\fBENOSYS\fR \fR
97 .ad
98 .RS 11n
99 The \fBsem_close()\fR function is not supported by the system.
102 .SH USAGE
105 The \fBsem_close()\fR function should not be called for an unnamed semaphore
106 initialized by \fBsem_init\fR(3C).
107 .SH ATTRIBUTES
110 See \fBattributes\fR(5) for descriptions of the following attributes:
115 box;
116 c | c
117 l | l .
118 ATTRIBUTE TYPE  ATTRIBUTE VALUE
120 Interface Stability     Committed
122 MT-Level        MT-Safe
124 Standard        See \fBstandards\fR(5).
127 .SH SEE ALSO
130 \fBsem_init\fR(3C), \fBsem_open\fR(3C), \fBsem_unlink\fR(3C),
131 \fBattributes\fR(5), \fBstandards\fR(5)
132 .SH NOTES
135 Solaris 2.6 was the first release to support the Asynchronous Input and Output
136 option. Prior to this release, this function always returned \fB\(mi1\fR and
137 set \fBerrno\fR to \fBENOSYS\fR.