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

0 ответов

Кевент и USB последовательные порты

У меня проблемы с использованием Kevent на Mac с последовательной консолью USB. Я сузил это до: #include <errno.h> #include <fcntl.h> #include <stdio.h> #include <string.h> #include <sys/event.h> #include <sys/ioctl.…
19 июн '15 в 20:27
1 ответ

Есть ли способ выполнить обратный вызов (в Linux), когда дескриптор файла закрыт

Я работаю над библиотекой эмуляции kevent/kqueue для Linux. Я новый сопровождающий в этом проекте, и, к сожалению, предыдущий сопровождающий больше не вовлечен (поэтому я не могу разобраться с этим). Под FreeBSD и macOS, когда вы close() дескриптор …
08 фев '18 в 22:49
1 ответ

Асинхронная интеграция libcurl с kevent в macOS Sierra

Я интегрирую curl в цикл событий асинхронного ввода / вывода, основанный на kqueue. libcurl имеет отличный API для интеграции в цикл событий приложений. Вы предоставляете libcurl два обратных вызова: один для установки таймера (используется для огра…
28 ноя '16 в 16:03
1 ответ

Торнадо + кевент на Mac OSX

Недавно я столкнулся с проблемами запуска торнадо на Mac OSX Yosemite. Делая запрос к серверу торнадо, я получаю следующую трассировку: ERROR:tornado.general:Uncaught exception Traceback (most recent call last): File "/Library/Python/2.7/site-packag…
05 дек '14 в 00:57
2 ответа

TCP Server работники с kqueue

Недавно я провел некоторое тестирование с событиями ядра и придумал следующее: Имеет ли смысл использовать событие ядра для принятия сокетов? Мое тестирование показало, что я смог обработать только один прием за один раз (даже если массив списка соб…
10 авг '14 в 13:13
0 ответов

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

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

Отбрасывает ли kevent список изменений при прерывании сигнала?

Когда kevent возвращается EINTR, что является вероятным явлением, потому что он не поддерживает SA_RESTART Поведение, применялся ли список изменений или нет? У меня сложилось такое впечатление, потому что сигналы генерируют EINTR только после того, …
24 мар '14 в 06:15
0 ответов

kevent/epoll против pthread ждать

Boost используйте kevent / epoll и некоторые другие для обработки сетевого ввода-вывода и привязки событий в функции boost boost::bind bind, а затем используйте вышеупомянутый api для выполнения обратного вызова функции но согласно документу man, ep…
13 ноя '20 в 13:01
1 ответ

macOS Мониторинг новых разветвленных процессов с помощью kevents

Я пытаюсь отслеживать все вновь созданные процессы с помощью Kevents путем мониторинга EVFILT_PROC с помощью launchd pid, равный 1: struct kevent ke = { 0 }; const pid_t pid_of_launchd = 1; EV_SET(&ke, pid_of_launchd, EVFILT_PROC, EV_ENABLE | EV…
07 сен '20 в 17:15
0 ответов

Каков правильный размер списка событий для kevent?

Хороший день для тебя, Некоторое время назад я использовал API для небольшой работы с сетевым программированием. Я потерял весь свой код из-за отказа жесткого диска. Теперь, столкнувшись с той же проблемой, я возвращаюсь к . Проблема в том, что в по…
12 май '22 в 09:10
1 ответ

Требуется объяснение формулировки фильтра kevent.

У меня есть следующие строки для keventв man: EVFILT_TIMER Establishes an arbitrary timer identified by ident. When adding a timer, data specifies the moment to fire the timer (for NOTE_ABSTIME) or the timeout period. The timer will be periodic unle…
03 июн '22 в 08:48
0 ответов

Выполняет ли kevent циклический перебор среди готовых файловых дескрипторов, таких как epoll, когда nevents меньше числа готовых файловых дескрипторов?

На справочной странице epoll_wait в Notes мы видим следующее: Если при вызове epoll_wait() готово больше файловых дескрипторов, чем maxevents, то последующие вызовы epoll_wait() будут циклически проходить через набор готовых файловых дескрипторов. Т…
26 фев '23 в 06:02
0 ответов

EINTR и epoll_ctl, нужно ли проверять errno?

Я просматриваю код для FreeBSD. Код используетkeventинтерфейс программирования. Теперь я нахожу строки, как показано ниже: status = kevent(...) if(status < 0){ if(EINTR == errno){ goto l_kevent; } /* ... */ } Мне нужно портировать код для Linux, …
25 дек '22 в 15:41