[PATCH] firewall3: fix locking issue

Florian Eckert fe at dev.tdt.de
Fri Nov 19 00:51:02 PST 2021


By calling the command 'fw3 reload' several times at the same time, I
noticed that the locking was not working properly. It happened from time
to time that some firewall rules were present twice in the system!

By removing the 'unlink' systemcall, this error no longer occurred on my
systems.

Since fw3 does not run as a service, it makes no sense to delete this
lock file every time a filehandler is no longer open on this lock file,
because fw3 binary is not running.

If fw3 does run as a service then we can remove this lock file on
service stop. But this is not the case for fw3.

Signed-off-by: Florian Eckert <fe at dev.tdt.de>
---
 utils.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/utils.c b/utils.c
index 17d5bf9..92e966c 100644
--- a/utils.c
+++ b/utils.c
@@ -397,7 +397,6 @@ fw3_unlock_path(int *fd, const char *lockpath)
 		warn("Cannot release exclusive lock: %s", strerror(errno));
 
 	close(*fd);
-	unlink(FW3_LOCKFILE);
 
 	*fd = -1;
 }
-- 
2.20.1




More information about the openwrt-devel mailing list