Как стать автором
Поиск
Написать публикацию
Обновить

Как Go зависает на Windows в CancelIoEx: история одного бага

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.1K
Всего голосов 11: ↑11 и ↓0+15
Комментарии4

Комментарии 4

Расскажите, как удалось привлечь Windows Kernel team.

Microsoft Premier Support

Под капотом весь IO в Windows асинхронный, говорили они. Синхронные операции просто сами ждут вместо вас, говорили они.

Интересно.
А как последовать совету не смешивать синхронный и асинхронный вызов, если оно само может превращаться из одного в другое?

Посмотрим, чем завершится эта история. На мой взгляд, это тянет на баг в I/O Manager: если поток заблокирован на синхронной операции ввода-вывода, то любой ранее инициированный им асинхронный I/O фактически лишается шансов на завершение или отмену.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации