summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper Dangaard Brouer <hawk@comx.dk>2006-06-19 16:53:03 +0000
committerPatrick McHardy <kaber@trash.net>2006-06-19 16:53:03 +0000
commit056564f6af72376dba0fb616749349fc40bd1d61 (patch)
tree0ce9e16c2eb0c8d759ffc784a2fe8ac0e0bd317b
parent75efcae9764d2117be192a93b25e8810009aabec (diff)
Add new exit value to indicate concurrency issues (Jesper Dangaard Brouer <hawk@comx.dk>)
-rw-r--r--include/iptables_common.h3
-rw-r--r--iptables-standalone.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/include/iptables_common.h b/include/iptables_common.h
index 28bda9f4..64723c3c 100644
--- a/include/iptables_common.h
+++ b/include/iptables_common.h
@@ -5,7 +5,8 @@
enum exittype {
OTHER_PROBLEM = 1,
PARAMETER_PROBLEM,
- VERSION_PROBLEM
+ VERSION_PROBLEM,
+ RESOURCE_PROBLEM
};
/* this is a special 64bit data type that is 8-byte aligned */
diff --git a/iptables-standalone.c b/iptables-standalone.c
index 257b6777..e5c7841d 100644
--- a/iptables-standalone.c
+++ b/iptables-standalone.c
@@ -64,9 +64,13 @@ main(int argc, char *argv[])
if (ret)
ret = iptc_commit(&handle);
- if (!ret)
+ if (!ret) {
fprintf(stderr, "iptables: %s\n",
iptc_strerror(errno));
+ if (errno == EAGAIN) {
+ exit(RESOURCE_PROBLEM);
+ }
+ }
exit(!ret);
}