diff mbox series

firewall3: fix locking issue

Message ID 20211119085102.8338-1-fe@dev.tdt.de
State Accepted
Delegated to: Rui Salvaterra
Headers show
Series firewall3: fix locking issue | expand

Commit Message

Florian Eckert Nov. 19, 2021, 8:51 a.m. UTC
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@dev.tdt.de>
---
 utils.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Florian Eckert Nov. 24, 2021, 1 p.m. UTC | #1
Hello

I found an interesting article about this topic on stackoverflow.

https://stackoverflow.com/questions/17708885/flock-removing-locked-file-without-race-condition

Beset regards
Florian
diff mbox series

Patch

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;
 }