struct nftnl_table_list *list;
int ret;
-retry:
list = nftnl_table_list_alloc();
if (list == NULL)
return 0;
NLM_F_DUMP, h->seq);
ret = mnl_talk(h, nlh, nftnl_table_list_cb, list);
- if (ret < 0 && errno == EINTR) {
+ if (ret < 0 && errno == EINTR)
assert(nft_restart(h) >= 0);
- nftnl_table_list_free(list);
- goto retry;
- }
+
h->cache->tables = list;
return 1;
struct nlmsghdr *nlh;
int i, ret;
-retry:
fetch_table_cache(h);
for (i = 0; i < NFT_TABLE_MAX; i++) {
NLM_F_DUMP, h->seq);
ret = mnl_talk(h, nlh, nftnl_chain_list_cb, h);
- if (ret < 0 && errno == EINTR) {
+ if (ret < 0 && errno == EINTR)
assert(nft_restart(h) >= 0);
- flush_chain_cache(h, NULL);
- goto retry;
- }
return ret;
}
nftnl_rule_set_str(rule, NFTNL_RULE_CHAIN,
nftnl_chain_get_str(c, NFTNL_CHAIN_NAME));
-retry:
nlh = nftnl_rule_nlmsg_build_hdr(buf, NFT_MSG_GETRULE, h->family,
NLM_F_DUMP, h->seq);
nftnl_rule_nlmsg_build_payload(nlh, rule);
ret = mnl_talk(h, nlh, nftnl_rule_list_cb, c);
- if (ret < 0) {
- flush_rule_cache(c);
-
- if (errno == EINTR) {
- assert(nft_restart(h) >= 0);
- goto retry;
- }
- nftnl_rule_free(rule);
- return -1;
- }
+ if (ret < 0 && errno == EINTR)
+ assert(nft_restart(h) >= 0);
nftnl_rule_free(rule);