]> git.saurik.com Git - apple/libc.git/blob - sys/sem_post.2
Libc-498.1.5.tar.gz
[apple/libc.git] / sys / sem_post.2
1 .\" $Darwin$
2 .\"
3 .\" Copyright (c) 2000-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 June 8, 2000
24 .Dt SEM_POST 2
25 .Os Darwin
26 .Sh NAME
27 .Nm sem_post
28 .Nd unlock a semaphore
29 .Sh SYNOPSIS
30 .Fd #include <semaphore.h>
31 .Ft int
32 .Fn sem_post "sem_t *sem"
33 .Sh DESCRIPTION
34 The semaphore referenced by
35 .Fa sem
36 is unlocked, the value of the semaphore is incremented, and all
37 threads which are waiting on the semaphore are awakened.
38 .Pp
39 .Fn sem_post
40 is reentrant with respect to signals and may be called from within a
41 signal hanlder.
42 .Pp
43 If successful,
44 .Fn sem_post
45 will return 0. Otherwise, -1 is returned and
46 .Va errno
47 is set.
48 .Sh ERRORS
49 .Fn sem_post
50 succeeds unless:
51 .Bl -tag -width Er
52 .It Bq Er EINVAL
53 .Fa sem
54 is not a valid semaphore descriptor.
55 .El
56 .Sh SEE ALSO
57 .Xr sem_open 2 ,
58 .Xr sem_trywait 2 ,
59 .Xr sem_wait 2 ,
60 .Xr semctl 2 ,
61 .Xr semget 2 ,
62 .Xr semop 2
63 .Sh HISTORY
64 .Fn sem_post
65 is specified in the POSIX Realtime Extension (1003.1b-1993/1003.1i-1995).