| Предыдущий | Следующий |
| ERROR_BAD_PATHNAME | ERROR_MAX_THRDS_REACHED |
ERROR_SIGNAL_PENDING
Что означает ERROR_SIGNAL_PENDING
ERROR_SIGNAL_PENDING означает, что для указанного target уже установлен сигнал, который ещё не был обработан или очищен. Для механизма с одним pending-сигналом повторная отправка не создаёт вторую единицу работы.
Что проверить
- Определите, кто поставил первый signal, дошёл ли он до handler и выполняется ли acknowledgement/clear после обработки.
- Если producer может добавлять несколько заданий, храните их количество в queue или другом состоянии, а сигнал используйте только как признак наличия работы.
- Долгое pending-state указывает на starvation/deadlock обработчика; мгновенное повторение ошибки чаще означает слишком агрессивную producer logic.
Как подтвердить правильную обработку
Исправление подтверждается тем, что сигнал снимается после обработки, очередь работы не теряет элементы, а повторные ERROR_SIGNAL_PENDING не используются как нормальный механизм подсчёта событий.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.