diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2008-10-31 18:16:15 +0100 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2008-10-31 18:16:15 +0100 |
commit | e2b56924035977f1a8aac1b87372ad0be6eb51e8 (patch) | |
tree | 22b3a8c7fc02cdd81f8a7c74a61189cc60cdb330 /plugin | |
parent | 0f14bdb757fb730959309481ad911ea270222154 (diff) | |
download | eurephia-e2b56924035977f1a8aac1b87372ad0be6eb51e8.tar.gz eurephia-e2b56924035977f1a8aac1b87372ad0be6eb51e8.tar.xz eurephia-e2b56924035977f1a8aac1b87372ad0be6eb51e8.zip |
BUGFIX (1/2) ... implemented worker side fix of shutdown bug
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/firewall/iptables/efw_iptables.c | 10 |
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); } |