| Предыдущий | Следующий |
| kIOReturnLockedRead | kIOReturnExclusiveAccess |
kIOReturnLockedWrite
Не повторяйте запись вслепую
kIOReturnLockedWrite сообщает, что тракт записи устройства заблокирован. Общий статус не указывает, удерживает ли блокировку тот же клиент, другой клиент, переход носителя или конечный автомат конкретного семейства. Он означает, что запрошенная запись не может продолжиться в текущем состоянии.
Это важно для восстановления, поскольку запись может изменять состояние. В отличие от чтения, повтор после изменения состояния способен продублировать команду или записать данные дважды, если интерфейс не определяет идемпотентность или идентификатор операции. До повторной отправки исследуйте переход блокировки и состояние завершения запроса.
Полезные проверки
- Запишите диапазон записи или идентификатор команды, вызывающую сторону, состояние службы и предшествующие операции открытия, захвата или настройки.
- Проверьте, должна ли управляющая операция, переход носителя, сброс или эксклюзивный владелец сериализовать запись.
- Ожидайте документированного завершения или уведомления о состоянии вместо тесного цикла повторов.
- Не смешивайте рабочие процессы
kIOReturnLockedWriteотделяйте от отсутствия возможности записи, напримерkIOReturnNotWritable.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
