LINUX.ORG.RU

Как избежать race в epoll edge-triggered режиме

 , ,


1

2

Коллеги, я немного не понял вот какой момент.

Допустим, у меня есть сокет, который в неблокирующем режиме.

Я сделал epoll_wait, узнал что он активен. Читаю из него до EWOULDBLOCK, после чего сразу ухожу в epoll_wait.

Между последним чтением и вызовом epoll_wait мне приходят данные, но из-за edge-triggered режима я не получаю нотификацию (как мне кажется), потому что данные пришли до вызова epoll_wait.

Я правильно проинтерпретировал документацию? Если да, то как избежать этого race condition?

Я правильно проинтерпретировал документацию?

Нет.

redixin ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.