Что означает код errno 36 (EIDRM) в Solaris?

 
Также может означать:
КонстантаТипОС
ERROR_SHARING_BUFFER_EXCEEDEDОшибка WindowsWindows
KERN_NOT_DEPRESSEDКод возврата ядра macOSmacOS
ippStsNotSupportedCpuСтатус Intel IPPЛюбая
ENAMETOOLONGerrnoLinux
EINPROGRESSerrnomacOS
EDEADLKerrnoWindows
NTFS_FILE_SYSTEMКод BSODWindows
Предыдущий Следующий
EINPROGRESS EDEADLK

EIDRM

Время жизни объекта IPC System V

В Solaris EIDRM имеет значение errno 36. Основное сообщение: Идентификатор удалён, но полезный диагностический контекст уже краткого сообщения: идентификатор IPC Solaris был удалён, пока вызывающий процесс использовал его или ожидал на нём.

Старый числовой IPC ID нельзя считать постоянной ссылкой на объект: после удаления идентификатор может быть позднее выдан другому объекту. В журнале сохраняйте также IPC key, тип объекта и момент удаления.

Что проверить

  • Проверьте, не удалили ли msgctl, semctl или shmctl объект, пока другой процесс был заблокирован или всё ещё хранил идентификатор.
  • Откройте или создайте объект IPC заново вместо продолжения работы со старым идентификатором.
  • Записывайте ключ IPC и идентификатор объекта, поскольку числовые идентификаторы могут позднее переиспользоваться.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.