[netfilter-cvslog] r7426 - trunk/iptables/libiptc

kaber at trash.net kaber at trash.net
Wed Apr 2 14:01:53 CEST 2008


Author: kaber at trash.net
Date: 2008-04-02 14:01:53 +0200 (Wed, 02 Apr 2008)
New Revision: 7426

Modified:
   trunk/iptables/libiptc/libiptc.c
Log:
Retry ruleset dump when kernel returns EAGAIN.

Bugzilla #104


Modified: trunk/iptables/libiptc/libiptc.c
===================================================================
--- trunk/iptables/libiptc/libiptc.c	2008-04-02 10:25:33 UTC (rev 7425)
+++ trunk/iptables/libiptc/libiptc.c	2008-04-02 12:01:53 UTC (rev 7426)
@@ -1226,7 +1226,7 @@
 			return NULL;
 	}
 	sockfd_use++;
-
+retry:
 	s = sizeof(info);
 
 	strcpy(info.name, tablename);
@@ -1279,6 +1279,9 @@
 	return h;
 error:
 	TC_FREE(&h);
+	/* A different process changed the ruleset size, retry */
+	if (errno == EAGAIN)
+		goto retry;
 	return NULL;
 }
 




More information about the netfilter-cvslog mailing list