Книги автора: UNIX: разработка сетевых приложенийUNIX Network Programming
UNIX: взаимодействие процессовUNIX Network Programming. Volume 2 Second Edition. Interprocess Communications
/ Книги автора: UNIX: разработка сетевых приложенийUNIX Network Programming
UNIX: взаимодействие процессовUNIX Network Programming. Volume 2 Second Edition. Interprocess Communications
/ Книга: UNIX: взаимодействие процессов
Функция sem_post
Функция sem_post
В листинге 10.25 приведен текст функции sem_post, которая увеличивает значение семафора.
11-12 Мы записываем один байт в FIFO. Если канал был пуст, это приведет к возобновлению выполнения всех процессов, заблокированных в вызове read для этого канала.
Листинг 10.25. Функция sem_post
//my_pxsem_fifo/sem_post.с
1 #include "unpipc.h"
2 #include "semaphore.h"
3 int
4 mysem_post(mysem_t *sem)
5 {
6 char c;
7 if (sem->sem_magic != SEM_MAGIC) {
8 errno = EINVAL;
9 return(-1);
10 }
11 if (write(sem->sem_fd[1], &c, 1) == 1)
12 return(0);
13 return(-1);
14 }
Оглавление статьи/книги