Amiga Unix — 68040 · 68060

Manual pages › XENIX system calls (2Z)

sigsem(2Z)

signals a process waiting on a semaphore.

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

NAME

sigsem - signals a process waiting on a semaphore.

SYNOPSIS

cc [flag ...] file ... -lx
sigsem(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 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.

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.

SEE ALSO

creatsem(2), opensem(2), waitsem(2).