Описание тега epollet

Epoll в режиме Edge Trigger
1 ответ

Эполл: потерять некоторые события EPOLLOUT?

Вот так выглядит мой сервер: -WorkerThread (ы): вызывает epoll_wait, принимает соединения, устанавливает неблокирование fd (EPOLLIN | EPOLLOUT | EPOLLET | EPOLLRDHUP) вызывает recv до EAGAIN для события EPOLLIN и помещает все данные в глобальный Rec…
02 авг '12 в 23:31
2 ответа

Эполл, управляемый одним выстрелом * на уровне * (): подразумевает ли EPOLLONESHOT EPOLLET?

Можно ли использовать epoll в режиме "один выстрел"? Я не мог найти информацию об этом, когда я искал; Кажется, что все используют режим с триггером.
26 авг '16 в 19:24
1 ответ

TCP: Когда генерируется EPOLLHUP?

Также посмотрите этот вопрос, без ответа на данный момент. Существует много путаницы по поводу EPOLLHUP даже в man и документы ядра. Люди, кажется, считают, что он возвращается при опросе дескриптора, локально закрытого для записи, т.е. shutdown(SHU…
24 окт '18 в 18:56
0 ответов

Эполл сокета: EPOLL_CTL_MOD сбросит граничный триггер?

Начните с добавления сокета в набор epoll для чтения по триггеру: epoll_event ev = {}; ev.data.fd = sock; ev.events = EPOLLIN | EPOLLET; // edge triggered reading epoll_ctl(efd, EPOLL_CTL_ADD, sock, &ev); Теперь ждите данных: result = epoll_wait…
01 сен '16 в 06:14
3 ответа

Epoll в режиме EPOLLET, возвращающий 2 EPOLLIN перед чтением из сокета

На странице руководства epoll говорится, что fd, зарегистрированный в EPOLLET(инициируемый фронтом), не должен дважды уведомлять EPOLLIN, если не было выполнено чтение.Поэтому после EPOLLIN вам нужно очистить буфер до того, как epoll_wait сможет вер…
20 апр '10 в 09:16
1 ответ

Неблокирующая проблема с сокетом recv при использовании его с epoll

У меня проблема: иногда (не регулярно) recv возвращается -1 а также errno == EAGAIN при использовании epoll в edge-triggered Режим. кусок кода: server_sock = startup(&port); if ( (epollfd = epoll_create(4096)) < 0) { perror("epoll_create erro…
08 сен '10 в 03:55
2 ответа

Необходимость последнего вызова read (2) в Epoll TCP по требованию

Учитывая неблокирующий сокет TCP, если вызов read(sock, buf, bufLen) возвращает значение < bufLenбезопасно ли тогда ждать запускаемого по фронту события EPOLLIN? Или я должен позвонить read еще раз, чтобы убедиться, что это ноль или EAGAIN? В моем т…
14 янв '14 в 10:20
1 ответ

C: Сервер пересылки данных с помощью epoll ET заполняет буфер отправки

У меня следующая ситуация. Мой сервер получает данные с удаленного сервера (fd_server) и пересылает их клиенту (fd_client). Я использую краевой epoll, чтобы я мог обрабатывать несколько клиентов и несколько серверных конфликтов. Процедура: клиент по…
22 янв '13 в 10:12
1 ответ

epoll_wait() сообщает обо всех событиях закрытия сокета?

Или мне тоже нужно следить за возвращаемыми значениями read() или write(), чтобы знать, когда закрывать сокетили это зависит от некоторых флагов?этот вопрос для epoll в режиме запуска по фронту
17 мар '18 в 00:48
0 ответов

Вложенный EPOLL FD

Я нахожу в Интернете очень ограниченную информацию о поведении вложенных FD. Допустим, EPOLL FD1 является общим для EPOLL FD2 и FD3. Так что же произойдет, если epoll FD1 получит событие Будет ли оно вызывать событие как для FD2, так и для Fd3, если…
30 апр '18 в 05:39
0 ответов

Почему EPOLLOUT меняет способ обработки EPOLLIN?

В документации неясно, объединяются ли события или нет, и мои тесты показывают, что они есть в некоторых случаях, но не всегда. Рассматривать man 7 epoll: Так как даже при работе с epoll-триггерами, инициируемыми ребром, при получении нескольких пор…
30 мар '16 в 07:42
1 ответ

Наблюдаются ли события epoll, когда не epoll_waiting

Я довольно новичок в программировании на основе событий. Я экспериментирую с epoll Режим края, который, по-видимому, только сигнализирует о файлах, которые стали готовыми для чтения / записи (в отличие от режима уровня, который сигнализирует обо все…
23 июл '15 в 08:23
1 ответ

Какой вариант использования EPOLLET?

epoll в режиме триггера это странный зверь. Требуется, чтобы процесс отслеживал, каков последний ответ для каждого отслеживаемого FD. Он обязывает процесс обрабатывать, в обязательном порядке, каждое событие, о котором сообщалось (иначе мы могли бы …
08 окт '17 в 16:32
2 ответа

Многопоточный TCP слушатель с epoll и EPOLLET в C

Я хочу написать многопоточный TCP-слушатель, используя epoll и EPOLLET, Я видел, что есть несколько возможностей: Каждый поток имеет свой собственный epoll fd, делает bind() с помощью SO_REUSEPORT (но только до ядра Linux 3.9) и обрабатывает свои со…
12 мар '16 в 18:32
0 ответов

Нужно ли использовать EPOLLONESHOT с EPOLLET для правильной обработки данных у нескольких работников?

Я хочу использовать epoll, чтобы помочь распределить TCP-сервер по нескольким работникам, которые могут обрабатывать ввод и вывод параллельно. Я прочитал, что я могу использовать EPOLLET таким образом, только один работник будет активен для каждого …
13 май '18 в 15:23
2 ответа

При использовании epoll, запускаемого по краю, я должен перебрать send?

Я использую epoll для написания медиа-сервера. Все fds настроены на неблокирование, и я использую инициируемые фронтом события. Я знаю, что для EPOLLIN мне нужно перебрать чтение fd, пока не вернется EAGAIN. Но как насчет письма? Когда я хочу написа…
05 июл '11 в 15:00
0 ответов

Linux epoll серверный дизайн и несколько циклов событий

Я смотрю на создание высокопроизводительного TCP-сервера (для работы на linux), который будет использовать системный вызов epoll в режиме запуска по фронту для получения уведомлений о событиях. Система, на которой я буду работать, имеет несколько пр…
27 фев '19 в 16:53
1 ответ

Эполл с запуском по краю, одним выстрелом и многопоточностью

Это вопрос относительно этого ответа: /questions/32562164/u-epoll-est-problemyi-s-potokami/32562175#32562175 (прокомментирую это, но вновь созданные учетные записи, очевидно, не могут, извините за шум. Ресурсы по epollet/ многопоточности найти трудн…
29 апр '13 в 16:41
1 ответ

Блокировка чтения на GPIO из Python: как заблокировать с помощью epoll() и выбрать.EPOLLET

Я экспериментирую с доступом к GPIO из Python на встроенной системе (ядро ARM), на которой работает Linux, созданный с помощью Buildroot (ядро 4.1.15). Я хочу, чтобы мой код BLOCK ожидал смены контакта на GPIO2 (то есть я не хочу опрашивать контакт,…
30 ноя '17 в 02:01
0 ответов

Как "специальные" флаги epoll соответствуют kqueue?

Я пытаюсь провести параллель между флагами epoll и kqueue, особенно EPOLLONESHOT EPOLLET EPOLLEXCLUSIVE и EV_CLEAR/EV_DISPATCH/EV_ONESHOT. Я исследую Kqueue впервые; У меня был только опыт работы с epoll. EV_DISPATCH Это похоже на сочетание флагов E…
10 авг '18 в 20:03