3 .\" Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
 
   5 .\" @APPLE_LICENSE_HEADER_START@
 
   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.
 
  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.
 
  21 .\" @APPLE_LICENSE_HEADER_END@
 
  28 .Nd unlock a semaphore
 
  30 .Fd #include <semaphore.h>
 
  32 .Fn sem_post "sem_t *sem"
 
  34 The semaphore referenced by
 
  36 is unlocked, the value of the semaphore is incremented, and all
 
  37 threads which are waiting on the semaphore are awakened.
 
  40 is reentrant with respect to signals and may be called from within a
 
  45 will return 0.  Otherwise, -1 is returned and
 
  54 is not a valid semaphore descriptor.
 
  65 is specified in the POSIX Realtime Extension (1003.1b-1993/1003.1i-1995).