У меня есть функция 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?
Спасибо.
С уважением,
Rayne