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

Программа semcreate

Программа semcreate

Первая программа, текст которой приведен в листинге 11.1,[1] просто создает набор семафоров System V. Параметр командной строки –е соответствует флагу IPC_EXCL при вызове semget, а последним аргументом командной строки является количество семафоров в создаваемом наборе.

Листинг 11.1. Программа semcreate

//svsem/semcreate.с
1  #include "unpipc.h"
2  int
3  main(int argc, char **argv)
4  {
5   int с, oflag, semid, nsems;
6   oflag = SVSEM_MODE | IPC_CREAT;
7   while ((c = Getopt(argc, argv, "e")) != –1) {
8    switch (c) {
9    case 'e':
10    oflag |= IPC_EXCL;
11    break;
12   }
13  }
14  if (optind != argc – 2)
15   err_quit("usage: semcreate [ –e ] <pathname> <nsems>");
16  nsems = atoi(argv[optind + 1]);
17  semid = Semget(Ftok(argv[optind], 0), nsems, oflag);
18  exit(0);
19 }

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


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