--- Begin Message ---
On Fri, May 20, 2022 at 12:36 PM Guy Harris <ghar...@sonic.net> wrote:
> If it's putting them in non-blocking mode, and using some
> select/poll/epoll/etc. mechanism in a single event loop, then the right
> name for the API is pcap_setnonblock(). There's no need for an eventfd to
> wake up the blocking poll() if there *is* no blocking poll(), so:
>
> if non-blocking mode is on before pcap_activate() is called, no
> eventfd should be opened, and poll_breakloop_fd should be set to -1;
>
> if non-blocking mode is turned on after pcap_activate() is called,
> the eventfd should be closed, and poll_breakloop_fd should be set to -1;
>
> if non-blocking mode is turned *off* afterwards, an eventfd should
> be opened, and poll_breakloop_fd should be set to it;
>
> if poll_breakloop_fd is -1, the poll() should only wait on the
> socket FD;
>
> so this can be handled without API changes.
>
Thank you for the excellent observation, Guy. It is indeed setting
non-block before pcap_activate(). I'll work on this plan.
Bill
--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers