Ejemplo n.º 1
0
    def lock_createfunc(self, wait=True):
        if self.funclock is None:
            self.funclock = NameLock(
                identifier="memorycontainer/funclock/%s/%s" %
                (self.namespacemanager.namespace, self.key),
                reentrant=True)

        return self.funclock.acquire(wait)
Ejemplo n.º 2
0
class MemoryContainer(Container):

    def do_init(self, **kwargs):
        self.funclock = None
    
    def create_namespace(cls, namespace, **kwargs):
        return MemoryNamespaceManager(namespace, **kwargs)
    create_namespace = classmethod(create_namespace)
        
    def lock_createfunc(self, wait = True): 
        if self.funclock is None:
            self.funclock = NameLock(identifier = "memorycontainer/funclock/%s/%s" % (self.namespacemanager.namespace, self.key), reentrant = True)
            
        return self.funclock.acquire(wait)

    def unlock_createfunc(self): self.funclock.release()
Ejemplo n.º 3
0
class MemoryContainer(Container):
    def do_init(self, **kwargs):
        self.funclock = None

    def create_namespace(cls, namespace, **kwargs):
        return MemoryNamespaceManager(namespace, **kwargs)

    create_namespace = classmethod(create_namespace)

    def lock_createfunc(self, wait=True):
        if self.funclock is None:
            self.funclock = NameLock(
                identifier="memorycontainer/funclock/%s/%s" %
                (self.namespacemanager.namespace, self.key),
                reentrant=True)

        return self.funclock.acquire(wait)

    def unlock_createfunc(self):
        self.funclock.release()
Ejemplo n.º 4
0
 def get_creation_lock(self, key):
     return NameLock(
         identifier="memorycontainer/funclock/%s/%s" % (self.namespace, key),
         reentrant=True
     )
Ejemplo n.º 5
0
 def lock_createfunc(self, wait = True): 
     if self.funclock is None:
         self.funclock = NameLock(identifier = "memorycontainer/funclock/%s/%s" % (self.namespacemanager.namespace, self.key), reentrant = True)
         
     return self.funclock.acquire(wait)