Книги автора: 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_close
Функция sem_close
Текст функции sem_close приведен в листинге 10.23.
11-15 Мы закрываем оба дескриптора и освобождаем память, выделенную под тип sem_t.
Листинг 10.23. Функция sem_close
//my_pxsem_fifo/sem_close.с
1 #include "unpipc.h"
2 #include "semaphore.h"
3 int
4 mysem_close(mysem_t *sem)
5 {
6 if (sem->sem_magic != SEM_MAGIC) {
7 errno = EINVAL;
8 return(-1);
9 }
10 sem->sem_magic = 0; /* чтобы семафор нельзя было больше использовать */
11 if (close(sem->sem_fd[0]) == –1 || close(sem->sem_fd[1]) == –1) {
12 free(sem);
13 return(-1);
14 }
15 free(sem);
16 return(0);
17 }
Оглавление статьи/книги
Похожие страницы