Как использовать pcap_breakloop?
У меня есть функция pcap_loop в другой функции, которая захватывает пакеты, пока пользователь не остановит ее, т.е.
void functionA()
{
signal(SIGINT, terminate_process);
pcap_loop(handle, -1, callback, NULL);
...
}
void terminate_process(int signum)
{
pcap_breakloop(handle);
pcap_close(handle);
}
Можно ли установить продолжительность, когда пакеты будут перехвачены? Что-то вроде:
if (time(NULL) - start_time > 100)
pcap_breakloop(handle);
Но я не знаю, где это поставить, потому что пока все примеры, которые я видел, использовали pcap_breakloop в обработчике сигналов, который требует вмешательства пользователя. Как будет проверяться условие времени во время работы pcap_loop?
Спасибо.
С уважением, Рэйн