| Предыдущий | Следующий |
| EPROTOTYPE | ETIMEDOUT |
ETIME
Что означает ETIME в Windows UCRT
ETIME означает «Время таймера истекло». Для условия «Время таймера истекло» код ETIME нужно связывать с первым возвратившим его вызовом и контекстом: сообщение, очередь, STREAMS/IPC-объект или служебный интерфейс.
Для условия «Время таймера истекло» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для ETIME исходная английская страница также выделяет UCRT, CRT, ETIMEDOUT, WAIT_TIMEOUT, UNIX и ABI; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Время таймера истекло» (Windows UCRT,
ETIME) запишите тип объекта, команду, размер сообщения, идентификаторы и состояние очереди или потока. - При ошибке «Время таймера истекло» (Windows UCRT,
ETIME) проверьте структуру и длину относительно версии интерфейса и фактической архитектуры процесса. - При ошибке «Время таймера истекло» (Windows UCRT,
ETIME) установите, существует ли owner/peer и не был ли объект удалён между поиском и операцией. - При ошибке «Время таймера истекло» (Windows UCRT,
ETIME) не сводите специализированный статус к общей ошибке ввода-вывода до проверки контракта IPC.
На платформе Windows UCRT исправление ETIME считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Время таймера истекло» без утечки ресурсов и потери первичной диагностики.
Ссылки для ETIME
- Microsoft: errno constants
- Microsoft: _get_errno
- Microsoft: _doserrno and errno
- The Open Group: errno.h
Нужно найти другой код? Найти другой код состояния или ошибки.