Есть ли ссылочный документ где-нибудь, описывающий поведение блокировки системных вызовов POSIX?Какие системные вызовы POSIX могут блокировать процесс?
До сих пор моя эвристика должна была помечать как потенциально блокирующую любую функцию, которая может потерпеть неудачу с EINTR
? Это необходимое и достаточное условие?
У меня нет списка, но я подозреваю, что это не является необходимым условием. Например, 'unlink (2)' не указывает 'EINTR' как возможную ошибку, но может блокироваться (на диске). Есть, вероятно, и многие другие. – Celada