@gibsonman01

Как выполняется semop?

Как выполняется semop?
Операции выполняются последовательно, как описано в массиве структур sembuf?
То есть может ли быть такое, что изменена только часть семафоров, пока процесс блокирован на следующем семафоре из набора?
  • Вопрос задан
  • 320 просмотров
Решения вопроса 1
Olej
@Olej
инженер, программист, преподаватель
1. semop() - это не POSIX, а семафоры System V, это для Linux, скорее, экзотика, чем норма - это включено больше для совместимости с программами, написанными для ... Solaris, например.

2. детально про все операции синхронизации (и semop в том числе) можете почитать:
23626.jpg (можете найти и скачать, её много где есть)

3. Стивенс пишет:

Весь массив операций, передаваемый функции semop, выполняется ядром как одна операция; атомарность при этом не гарантируется. Ядро выполняет все указанные операции, или ни одну из них.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы