1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/shadowyuan-raptor-lite

 / Детали:

Вызов OnEventProcess в методе olex->service->OnEventProcess внутри PollingThread может привести к сбою в некоторых случаях

Завершенные
Владелец
Создано  
30.11.2024

void PollingThread::WorkThread(void *) {
    while (!shutdown_) {
        DWORD NumberOfBytesTransferred = 0;
        void *CompletionKey            = NULL;
        LPOVERLAPPED lpOverlapped      = NULL;

        bool ret = iocp_.polling(&NumberOfBytesTransferred, (PULONG_PTR)&CompletionKey,
                                 &lpOverlapped, 1000);

        OverLappedEx *olex = (OverLappedEx *)lpOverlapped;

        EventDetail detail;
        detail.error_code        = 0;
        detail.event_type        = olex->event_type;
        detail.ptr               = CompletionKey;
        detail.overlaped         = olex;
        detail.transferred_bytes = NumberOfBytesTransferred;

        olex->service->OnEventProcess(&detail);
    }
}

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account изменить Статус задачи с Предстоит сделать на Завершенные
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/shadowyuan-raptor-lite.git
git@api.gitlife.ru:oschina-mirror/shadowyuan-raptor-lite.git
oschina-mirror
shadowyuan-raptor-lite
shadowyuan-raptor-lite