summaryrefslogtreecommitdiffstats
path: root/src/cache_iterators.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cache_iterators.c')
-rw-r--r--src/cache_iterators.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/cache_iterators.c b/src/cache_iterators.c
index dfccc68..542ab91 100644
--- a/src/cache_iterators.c
+++ b/src/cache_iterators.c
@@ -175,20 +175,16 @@ static int do_commit_master(void *data, struct hashtable_node *n)
}
/* no need to clone, called from child process */
-void cache_commit(struct cache *c)
+void cache_commit(struct cache *c, struct nfct_handle *h)
{
unsigned int commit_ok = c->stats.commit_ok;
unsigned int commit_fail = c->stats.commit_fail;
- struct __commit_container tmp;
+ struct __commit_container tmp = {
+ .h = h,
+ .c = c,
+ };
struct timeval commit_start, commit_stop, res;
- tmp.h = nfct_open(CONNTRACK, 0);
- if (tmp.h == NULL) {
- dlog(LOG_ERR, "can't create handler to commit entries");
- return;
- }
- tmp.c = c;
-
gettimeofday(&commit_start, NULL);
/* commit master conntrack first, then related ones */
hashtable_iterate(c->h, &tmp, do_commit_master);
@@ -206,7 +202,6 @@ void cache_commit(struct cache *c)
if (commit_fail)
dlog(LOG_NOTICE, "%u entries can't be "
"committed", commit_fail);
- nfct_close(tmp.h);
dlog(LOG_NOTICE, "commit has taken %lu.%06lu seconds",
res.tv_sec, res.tv_usec);