Книга: 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 }

Оглавление книги


Генерация: 0.249. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз