プロトタイプ: int sem_post(sem_t *sem); #include <semaphore.h> sem_t sem; int ret; ret = sem_post(&sem); /* セマフォを加算する */ |
sema_post(3THR) は、sem が指すセマフォの値を原子操作によって 1 増やします。そのセマフォでブロックされているスレッドがある場合は、そのスレッドのうちの 1 つのスレッドがブロック解除されます。(Solaris スレッドについては、「sema_post(3THR)」を参照)。
正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると、この関数は失敗し、次の値を戻します。