|
Синтаксис
# 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. |