Книга: UNIX: взаимодействие процессов

Функция sem_close

Функция sem_close

В листинге 10.30 приведен текст нашей функции sem_close, которая просто вызывает munmap для отображенного в память файла. Если вызвавший процесс продолжит пользоваться указателем, который был ранее возвращен sem_open, он получит сигнал SIGSEGV.

Листинг 10.30. Функция sem_close

//my_pxsem_mmap/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  if (munmap(sem, sizeof(mysem_t)) == –1)
11  return(-1);
12  return(0);
13 }

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


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