Листинг 10.3.[1] Создание именованного семафора
//pxsem/semcreate.c
1 #include "unpipc.h"
2 int
3 main(int argc, char **argv)
4 {
5 int с, flags;
6 sem_t *sem;
7 unsigned int value;
8 flags = O_RDWR | O_CREAT;
9 value = 1;
10 while ((c = Getopt(argc, argv, "ei:")) != –1) {
11 switch (c) {
12 case 'e':
13 flags |= O_EXCL;
14 break;
15 case 'i':
16 value = atoi(optarg);
17 break;
18 }
19 }
20 if (optind != argc – 1)
21 err_quit("usage: semcreate [ –e ] [ –i initialvalue ]
22 sem = Sem_open(argv[optind], flags, FILE_MODE, value);
23 Sem_close(sem);
24 exit(0);
25 }