How to use pcap_breakloop?
c, pcap
Solution
You can use alarm to generate a signal after a given number of seconds:
void functionA()
{
signal(SIGALRM, terminate_process);
alarm(100);
}
Problem
I have a pcap_loop function in another function, that captures packets until the user stops it, i.e. ``` void functionA() { signal(SIGINT, terminate_process); pcap_loop(handle, -1, callback, NULL); ... } void terminate_process(int signum) { pcap_breakloop(handle); pcap_close(handle); } ``` Is it possible to set a duration for when packets would be captured? Something like: ``` if (time(NULL) - start_time > 100) pcap_breakloop(handle); ``` But I don't know where to put this, because so far all the examples I've seen used pcap_breakloop in a signal handler, which requires user intervention. How will the time condition be checked while pcap_loop is running? Thank you. Regards, Rayne