| The contents of this page are licensed under the following license Operating System IPC semaphores | 
| 
 #include <stdio.h>
 #include <sys/sem.h>
 #include <stdlib.h>
 int main(int argc, char* argv[])
 {
   int id;
   struct sembuf op;
   if (argc < 2)
   {
     printf("usage: %s <sem_op_value>\n", argv[0]);
     exit(1);
   }
   /* create semaphore */
   id = semget(0x13, 1, 0600 | IPC_CREAT);
   if (id == -1)
   {
     perror("Error create semaphore");
     exit(1);
   }
   printf("old value: %d\n", semctl(id, 0, GETVAL, NULL));
   /* set semaphore operation */
   op.sem_num = 0;
   op.sem_op = atoi(argv[1]);
   op.sem_flg = 0;
   /* perform operation */
   semop(id, &op, 1);
   printf("new value: %d\n", semctl(id, 0, GETVAL, NULL));
 }
 | 
August, 23rd 2006  © Michał Kalewski
 © Michał Kalewski