[package] firewall: fix a possible deadlock when the firewall config has syntax error...
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 18 May 2010 20:15:47 +0000 (20:15 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 18 May 2010 20:15:47 +0000 (20:15 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21501 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/firewall/files/lib/core.sh

index d0b87a7..5f06ffe 100644 (file)
@@ -8,14 +8,15 @@ include /lib/network
 fw_start() {
        fw_init
 
-       lock /var/lock/firewall.start
-
        FW_DEFAULTS_APPLIED=
 
        fw_is_loaded && {
                echo "firewall already loaded" >&2
                exit 1
        }
+
+       lock /var/lock/firewall.start
+
        uci_set_state firewall core "" firewall_state
 
        fw_clear DROP
@@ -93,6 +94,7 @@ fw_die() {
        echo "Error:" "$@" >&2
        fw_log error "$@"
        fw_stop
+       lock -u /var/lock/firewall.start
        exit 1
 }
 
This page took 0.02681 seconds and 4 git commands to generate.