Управление ресурсами в ОС UNIX

       

Int semctl (int semid, int sem_num, int command, union semun arg),


где semid - это идентификатор набора семафоров, sem_numb - номер семафора в группе, command - код операции, а arg - указатель на структуру, содержимое которой интерпретируется по-разному, в зависимости от операции.

Структура msg имеет вид:

union semun { int val;

struct semid_ds *buf;

unsigned short *array; };

С помощью semctl() можно

  • уничтожить набор семафоров или индивидуальный семафор в указанной группе (IPC_RMID);
  • вернуть значение отдельного семафора (GETVAL) или всех семафоров (GETALL);
  • установить значение отдельного семафора (SETVAL) или всех семафоров (SETALL);
  • вернуть число семафоров в наборе семафоров (GETPID).
  • Основным системным вызовом для манипулирования семафором является



    Содержание раздела