Fix flushing of large number of entries

Checking for errors would cause some responses to be lost.
diff --git a/lib/libnetlink.c b/lib/libnetlink.c
index 5ae64f7..b68e2fd 100644
--- a/lib/libnetlink.c
+++ b/lib/libnetlink.c
@@ -121,8 +121,8 @@
 	if (status < 0)
 		return status;
 
-	/* Check for errors */
-	status = recv(rth->fd, resp, sizeof(resp), MSG_DONTWAIT);
+	/* Check for immediate errors */
+	status = recv(rth->fd, resp, sizeof(resp), MSG_DONTWAIT|MSG_PEEK);
 	if (status < 0) {
 		if (errno == EAGAIN)
 			return 0;