Ejemplo n.º 1
0
 def recv(self, msgid=None):
     if msgid is None:
         return self.realrecv()
     else:
         msgid = str(msgid[0]), str(msgid[1]), int(msgid[2])
         ms_lock.acquire()
         try:
             if message_store.has_key(msgid[2]):
                 m = message_store[msgid[2]]
                 del message_store[msgid[2]]
                 return m
             s = threading.Semaphore(0)
             return_locks[msgid[2]] = s
         finally:
             ms_lock.release()
         s.acquire()
         ms_lock.acquire()
         try:
             try:
                 del return_locks[msgid[2]]
             except IndexError:
                 raise IndexError, "Missing return lock %s in %s" % (
                     str(msgid), str(return_locks.keys()))
             m = message_store[msgid[2]]
             del message_store[msgid[2]]
         finally:
             ms_lock.release()
         return convertFrom(m[1])
Ejemplo n.º 2
0
 def recv(self, msgid=None):
     if msgid is None:
         return self.realrecv()
     else:
         msgid = str(msgid[0]), str(msgid[1]), int(msgid[2])
         ms_lock.acquire()
         try:
             if message_store.has_key(msgid[2]):
                 m = message_store[msgid[2]]
                 del message_store[msgid[2]]
                 return m
             s = threading.Semaphore(0)
             return_locks[msgid[2]] = s
         finally:
             ms_lock.release()
         s.acquire()
         ms_lock.acquire()
         try:
             try:
                 del return_locks[msgid[2]]
             except IndexError:
                 raise IndexError, "Missing return lock %s in %s" % (str(msgid), str(return_locks.keys()))
             m = message_store[msgid[2]]
             del message_store[msgid[2]]
         finally:
             ms_lock.release()
         return convertFrom(m[1])
Ejemplo n.º 3
0
def job(target, args):
    target(*convertFrom(args))
Ejemplo n.º 4
0
def job(target, args):
    target(*convertFrom(args))