Как использовать 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?

Спасибо.

С уважением, Рэйн

Ответы на вопрос(1)

Ваш ответ на вопрос