Функция sem_post

Функция sem_post

В листинге 10.41 приведен текст функции sem_post, которая увеличивает значение семафора.

11-16 Мы вызываем semop с операцией, увеличивающей значение семафора на 1.

Листинг 10.41. Функция sem_post

//my_pxsem_svsem/sem_post.с

1  #include "unpipc.h"

2  #include "semaphore.h"

3  int

4  mysem_post(mysem_t *sem)

5  {

6   struct sembuf op;

7   if (sem->sem_magic != SEM_MAGIC) {

8    errno * EINVAL;

9    return(-1);

10  }

11  op.sem_num = 0;

12  op.sem_op = 1;

13  op.sem_flg = 0;

14  if (semop(sem->sem_semid, &op, 1) < 0)

15   return(-1);

16  return(0);

17 }

Данный текст является ознакомительным фрагментом.