|
Синтаксис
# include <sys/types.h> # include <sys/ipc.h> # include <sys/sem.h> int semop ( int semid, struct sembuf *sops, unsigned nsops ) |
Описание
semop выполняет операции над выбранными элементами массива семафоров, задаваемого идентификатором semid. Каждый из
nsops элементов массива, на который указывает sops,
задает одну операцию над одним семафором и содержит поля:
short sem_num; /* Номер семафора */ short sem_op; /* Операция над семафором */ short sem_flg; /* Флаги операции */ Значение поля sem_op возможны следующие:
Флаг операции может принимать значения IPC_NOWAIT или/и SEM_UNDO. Первый из флагов определяет, что semop не переводит процесс в ожидание, когда этого требует выполнение семафорной операции, а заканчивается с признаком ошибки. Второй определяет, что операция должна откатываться при завершении процесса. |
Возвращаемое значение
При успешном завершении возвращается 0. В случае ошибки возвращается -1 и устанавливается код ошибки в errno. |
См.также
semctl, semget. |