summaryrefslogtreecommitdiffstats
path: root/usr/sbin
diff options
context:
space:
mode:
authorErmal Luši <eri@pfsense.org>2009-05-08 18:42:37 +0000
committerErmal Luši <eri@pfsense.org>2009-05-08 18:42:37 +0000
commit0027de0a544438f146cfc94f005fd6f4ba9f94d7 (patch)
tree3f97d22951284c2a7b02563ecdbb0fd126b46f15 /usr/sbin
parent89e6e210158ca4ca24d2ddbc02ccab72175875a5 (diff)
downloadpfsense-0027de0a544438f146cfc94f005fd6f4ba9f94d7.zip
pfsense-0027de0a544438f146cfc94f005fd6f4ba9f94d7.tar.gz
* Create two new functions lock($subsystem)/unlock() to have more reliable locking using semaphores.
This function can sleep till the resource is free and can help find not well behaving code. * Remove most of the config_lock/config_unlock logics on the whole scripts/pages it is an abuse of this. If any sybsytem wants to lock can do so with its own lock. * Lock the config when doing a filter reload to avoid parallell recursion on this function, since it is not reentrant. This compenstates for the removal of lock aquiring from the scripts/pages. * config_lock/config_unlock are now compate shims that do nothing. They are preserved since packages 'abuse' them too.
Diffstat (limited to 'usr/sbin')
-rwxr-xr-xusr/sbin/config_lock.sh4
-rwxr-xr-xusr/sbin/config_unlock.sh4
2 files changed, 4 insertions, 4 deletions
diff --git a/usr/sbin/config_lock.sh b/usr/sbin/config_lock.sh
index a84d855..8f541c7 100755
--- a/usr/sbin/config_lock.sh
+++ b/usr/sbin/config_lock.sh
@@ -3,7 +3,7 @@
<?php
-require_once("config.inc");
-config_unlock();
+require_once("util.inc");
+$GLOBALS['lockscript'] = lock('config');
?>
diff --git a/usr/sbin/config_unlock.sh b/usr/sbin/config_unlock.sh
index f534abc..39743c8 100755
--- a/usr/sbin/config_unlock.sh
+++ b/usr/sbin/config_unlock.sh
@@ -3,7 +3,7 @@
<?php
-require_once("config.inc");
-config_lock();
+require_once("util.inc");
+unlock($GLOBALS['lockscript']);
?>
OpenPOWER on IntegriCloud