aboutsummaryrefslogtreecommitdiff
path: root/pcap-bt-monitor-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'pcap-bt-monitor-linux.c')
-rw-r--r--pcap-bt-monitor-linux.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pcap-bt-monitor-linux.c b/pcap-bt-monitor-linux.c
index ad4fc375..206e65b5 100644
--- a/pcap-bt-monitor-linux.c
+++ b/pcap-bt-monitor-linux.c
@@ -127,6 +127,10 @@ bt_monitor_read(pcap_t *handle, int max_packets _U_, pcap_handler callback, u_ch
} while ((ret == -1) && (errno == EINTR));
if (ret < 0) {
+ if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ /* Nonblocking mode, no data */
+ return 0;
+ }
pcap_fmt_errmsg_for_errno(handle->errbuf, PCAP_ERRBUF_SIZE,
errno, "Can't receive packet");
return -1;