SIGSEM(S) XENIX System V SIGSEM(S)
Name
sigsem - Signals a process waiting on a semaphore.
Syntax
int sigsem(sem_num);
int sem_num;
Description
sigsem signals a process that is waiting on the semaphore
sem_num that it may proceed and use the resource governed by
the semaphore. sigsem is used in conjunction with
waitsem(S) to allow synchronization of processes wishing to
access a resource. One or more processes may waitsem on the
given semaphore and will be put to sleep until the process
which currently has access to the resource issues a sigsem
call. If there are any waiting processes, sigsem causes the
process which is next in line on the semaphore's queue to be
rescheduled for execution. The semaphore's queue is
organized in first in first out (FIFO) order.
See Also
creatsem(S), opensem(S), waitsem(S)
System Compatibility
sigsem can only be used to signal semaphores created under
Version 3.0, not for System V semaphores.
Diagnostics
sigsem returns the value (int) -1 if an error occurs. If
sem_num does not refer to a semaphore type file, errno is
set to ENOTNAM. If sem_num has not been previously opened
by opensem, errno is set to EBADF. If the process issuing a
sigsem call is not the current ``owner'' of the semaphore
(i.e., if the process has not issued a waitsem call before
the sigsem), errno is set to ENAVAIL.
Notes
This feature is a XENIX specific enhancement and may not be
present in all UNIX implementations. This function must be
linked using the linker option -lx.
Page 1 (printed 8/7/87)