diff options
author | rcoh <rcoh@mit.edu> | 2011-02-16 18:29:41 -0500 |
---|---|---|
committer | rcoh <rcoh@mit.edu> | 2011-02-16 18:29:41 -0500 |
commit | fffc14c4672294d9bbf8c60edfe8c309f0d54698 (patch) | |
tree | 19057b2e98735cc30fa1e0b3932d416946f8d705 /util/ComponentRegistry.py | |
parent | 24aa31808de6a4dc06a651076e5b292aebd9240d (diff) | |
parent | 2df9e408a0ff74539862c4a4e562a878cc11a329 (diff) |
Merge branch 'conner5' of https://github.com/dxiao/SmootLight into dxiao-conner5
Conflicts:
config/C5Sign.xml
layouts/SpecifiedLayout.py
Diffstat (limited to 'util/ComponentRegistry.py')
-rw-r--r-- | util/ComponentRegistry.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/util/ComponentRegistry.py b/util/ComponentRegistry.py index be913df..1db5135 100644 --- a/util/ComponentRegistry.py +++ b/util/ComponentRegistry.py @@ -1,12 +1,17 @@ -import pdb import hashlib from logger import main_log +import thread #TODO: make component registry a singleton def initRegistry(): #TODO: don't overwrite existing registry if not 'Registry' in globals(): globals()['Registry'] = {} - + makelock() + + +def makelock(): + global utilLock + utilLock = thread.allocate_lock() def clearRegistry(): initRegistry() @@ -14,6 +19,9 @@ def removeComponent(cid): global Registry Registry.pop(cid) +def getLock(): + global utilLock + return utilLock def getComponent(cid): global Registry return Registry[cid] @@ -31,6 +39,8 @@ def registerComponent(component, cid=None): cid = getNewId() component['Id'] = cid main_log.debug(cid + 'automatically assigned') + if cid in Registry: + main_log.warn(cid + 'overwritten.') Registry[cid] = component return cid @@ -42,10 +52,6 @@ def removeComponent(cid): global Registry Registry.pop(cid) -def getComponent(cid): - global Registry - return Registry[cid] - def getNewId(): global Registry trialKey = len(Registry) |