summaryrefslogtreecommitdiffstats
path: root/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugin')
-rw-r--r--plugin/firewall/iptables/efw_iptables.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugin/firewall/iptables/efw_iptables.c b/plugin/firewall/iptables/efw_iptables.c
index f62f059..3d173d3 100644
--- a/plugin/firewall/iptables/efw_iptables.c
+++ b/plugin/firewall/iptables/efw_iptables.c
@@ -91,8 +91,16 @@ void eFW_RunFirewall(void *fwargs) {
}
}
- efwRemoveSemaphores(ctx, fwargs);
+
efwRemoveMessageQueue(ctx, fwargs);
+
+ DEBUG(ctx, 28, "eFW_RunFirewall: Telling eFW master that the worker process is about to shutdown");
+ sem_post(cfg->semp_worker);
+
+ DEBUG(ctx, 28, "eFW_RunFirewall: Waiting for eFW master to acknowledge");
+ sem_wait(cfg->semp_master);
+
+ efwRemoveSemaphores(ctx, fwargs);
exit(0);
}