January 22, 2003 SEM_POST 3

### NAME

sem_post - increment (unlock) a semaphore

### LIBRARY

POSIX Real-time Library (librt, -lrt)

### SYNOPSIS

```int` sem_post(```sem_t *sem`)

### DESCRIPTION

The sem_post(``) function increments (unlocks) the semaphore pointed to by ```sem`. If there are threads blocked on the semaphore when sem_post(``) is called, then the highest priority thread that has been blocked the longest on the semaphore will be allowed to return from sem_wait(``).

sem_post(``) is signal-reentrant and may be called within signal handlers.

### RETURN VALUES

### ERRORS

sem_post(``) will fail if:

[```EINVAL`]
  ```sem` points to an invalid semaphore.

### SEE ALSO

sem_trywait(3), sem_wait(3)

### STANDARDS

sem_post(``) conforms to ISO/IEC 9945-1:1996 (``POSIX.1'') .