POSIX: PCAP: Cancel after pcap_breakloop() to EINTR out of poll()

This is necessary as pcap_breakloop() does not actually wake the
thread from blocking operations, such as poll.
This commit is contained in:
Paul Hollinsky
2021-05-27 22:47:44 -04:00
parent 04e7bfd1af
commit c12330eec4
+1
View File
@@ -234,6 +234,7 @@ bool PCAP::close() {
closing = true; // Signal the threads that we are closing
pcap_breakloop(interface.fp);
pthread_cancel(readThread.native_handle());
readThread.join();
writeThread.join();
closing = false;