mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
firewall: fix firewall reload lock
This commit is contained in:
parent
a4426eb5a4
commit
8f42e0d971
@ -9,7 +9,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=firewall
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall3.git
|
||||
|
@ -4,6 +4,17 @@ START=19
|
||||
USE_PROCD=1
|
||||
QUIET=""
|
||||
|
||||
LOCK_FILE="/var/lock/procd_firewall.lock"
|
||||
set_lock() {
|
||||
exec 1000>"$LOCK_FILE"
|
||||
flock -xn 1000
|
||||
}
|
||||
|
||||
unset_lock() {
|
||||
flock -u 1000
|
||||
rm -rf "$LOCK_FILE"
|
||||
}
|
||||
|
||||
validate_firewall_redirect()
|
||||
{
|
||||
uci_validate_section firewall redirect "${1}" \
|
||||
@ -30,28 +41,39 @@ validate_firewall_rule()
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger firewall
|
||||
set_lock
|
||||
|
||||
procd_open_validate
|
||||
validate_firewall_redirect
|
||||
validate_firewall_rule
|
||||
procd_close_validate
|
||||
unset_lock
|
||||
}
|
||||
|
||||
restart() {
|
||||
unset_lock
|
||||
set_lock
|
||||
fw3 restart
|
||||
unset_lock
|
||||
}
|
||||
|
||||
start_service() {
|
||||
set_lock
|
||||
fw3 ${QUIET} start
|
||||
unset_lock
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
fw3 flush
|
||||
unset_lock
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
unset_lock
|
||||
set_lock
|
||||
reload_config firewall
|
||||
fw3 reload
|
||||
unset_lock
|
||||
}
|
||||
|
||||
boot() {
|
||||
|
Loading…
Reference in New Issue
Block a user