> > That poll() is unnecessary in non-blocking mode only if the
> > application isn't expecting libpcap to return errors, and is
> > itself checking for those errors after the poll() call. That
> > would be the case only if the application knew it had to do
> > that special Linux-specific stuff.
>
> Perhaps it could be done every 256'th time through.
> That would pick up an actual error quite quickly, but
> reduce the overhead a lot.
Actually skip the poll if a packet has been found since
the last time the check was done.
Then code that does:
select(...)
while (read_packet())
...
done;
won't call poll() inside the library every time it
finishes processing the available data.
But if there is a failure, it will be detected immediately.
David
-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.