Задать вопрос
@gibsonman01

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

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

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

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

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

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

Похожие вопросы