Книга: Программирование для Linux. Профессиональный подход

Листинг 5.3. (sem_init.c) Инициализация двоичного семафора

Листинг 5.3. (sem_init.c) Инициализация двоичного семафора

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
/* Тип union semun необходимо определить самостоятельно. "/
union semun {
 int val;
 struct semid_ds* buf;
 unsigned short int *array;
 struct seminfo *__buf;
};
/* Инициализация двоичного семафора значением 1. */
int binary_semaphore_initialize(int semid) {
 union semun argument;
 unsigned short values(1);
 values[0] = 1;
 argument.array = values;
 return semctl(semid, 0, SETALL, argument);
}

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


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