From be69c6fca3b19f87c483091cdfaa99d465d0c1c1 Mon Sep 17 00:00:00 2001 From: Faiyaz Ahmed Date: Fri, 4 Apr 2008 19:44:34 +0000 Subject: [PATCH] File locking isn't exclusive in the same process across threads. Switched to regular semaphores. The assumption is sliver_vs.configure is called before Vserver.start(), which sets disk_usage_initialized. The disk check should be skipped during start, so the lock won't carry over. ...I hope. --- sliver_vs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sliver_vs.py b/sliver_vs.py index 13ff990..3060b9f 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -24,6 +24,9 @@ import vserver import accounts import logger import tools +from threading import BoundedSemaphore + +globalsem = BoundedSemaphore() # special constant that tells vserver to keep its existing settings KEEP_LIMIT = vserver.VC_LIM_KEEP @@ -42,7 +45,7 @@ class Sliver_VS(accounts.Account, vserver.VServer): SHELL = '/bin/vsh' TYPE = 'sliver.VServer' - _init_disk_info_sem = tools.NMLock("/var/run/nm-disk-info.lock") + _init_disk_info_sem = globalsem def __init__(self, rec): logger.verbose ('initing Sliver_VS with name=%s'%rec['name']) -- 2.43.0