LINUX.ORG.RU

поведение request_module() при снятом mutex'e

 , , , ,


0

1

Рассматриваю этот кусочек кода, и не могу понять, зачем нужно возвращать EAGAIN, и принуждать caller делать вызов снова. Я читал сопутствующий коду комментарий, но он не объясняет причину.

★★

Между unlock и lock что-то другое может захватить lock и выполнить какую-то операцию, и тогда код до unlock и после lock будеть иметь дело с разным состоянием. Наверное поэтому

urquan
()
Последнее исправление: urquan (всего исправлений: 1)

Для корректной работы функции необходимо держать семафор. Если его отпустили, корректная работа не гарантируется, поэтому возврат. Но есть шанс, что запрос всё же выполним, поэтому EAGAIN.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

urquan, tailgunner — спасибо за разъяснения.

cruz7 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.