|
Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Программирование под UNIX (GUI, XWindow, Qt, GTK) | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Принудительный выход из блокирующей функции" | +/– | |
Сообщение от goodfornothing (ok) on 28-Янв-12, 18:09 | ||
Здравствуйте! | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
|
Сообщения по теме | [Сортировка по времени | RSS] |
1. "Принудительный выход из блокирующей функции" | –1 +/– | |
Сообщение от dima (??) on 29-Янв-12, 04:31 | ||
> Здравствуйте! | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
2. "Принудительный выход из блокирующей функции" | +/– | |
Сообщение от goodfornothing (ok) on 04-Фев-12, 13:16 | ||
>[оверквотинг удален] | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
3. "Принудительный выход из блокирующей функции" | +/– | |
Сообщение от fork (??) on 05-Фев-12, 01:05 | ||
Предлагается использовать Etheral вместо Libpcap, насколько я понял. Не знаком ни с Libpcap ни с Etheral, но думаю можно добавить таймаут в ту блокирующую функцию, чтобы периодически её запускать во время работы, но и обрабатывать различные ситуации вроде той, когда пользователь решит изменить выражение фильтра. Либо добавить(использовать) управление заданием той самой функции из другого потока. | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
4. "Принудительный выход из блокирующей функции" | +/– | |
Сообщение от goodfornothing (ok) on 05-Фев-12, 14:58 | ||
> Предлагается использовать Etheral вместо Libpcap, насколько я понял. Не знаком ни | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
5. "Принудительный выход из блокирующей функции" | +/– | |
Сообщение от fork (??) on 05-Фев-12, 22:12 | ||
> принудительно завершать поток, в котором вызвана функция и перезапускать его | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
6. "Принудительный выход из блокирующей функции" | +/– | |
Сообщение от fork (??) on 05-Фев-12, 22:25 | ||
>принудительно завершать поток, в котором вызвана функция и перезапускать его | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
7. "Принудительный выход из блокирующей функции" | +/– | |
Сообщение от goodfornothing (ok) on 07-Фев-12, 22:23 | ||
> int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user) | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
8. "Принудительный выход из блокирующей функции" | +/– | |
Сообщение от fork (??) on 08-Фев-12, 02:07 | ||
Да, я предполагал, что, возможно, это приведет к потере пакетов, скорость может быть огромная. Вы проверяли это? В любом случае в библиотеке должны быть механизмы, решающие эту проблему без потери пакетов, хотя, может быть, и на более мощном железе. Как бы логично, что опрос тех пакетов никак не может помешать проверить в этой же функции один единственный флаг о необходимости завершить этот опрос, в том же коллбэке больше операций выполняется. | ||
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |