Exemple #1
0
class SMSCDriver:
    cv_smpp = Condition()
    smscDriver = None
    smscDriverThread = None
    started = False

    def __init__(self, profilePath):
        self.__class__.cv_smpp.acquire()
        if self.__class__.smscDriver == None:
            try:
                self.__class__.smscDriver = _SMSCDriver(profilePath)
                self.__class__.smscDriverThread = Thread(
                    self.__class__.smscDriver, "SMSCDriver")
#                 self.__class__.smscDriverThread.setDaemon(True)
            except Exception, ex:
                logger.error('Error loading SMSC Profile : %s, reason: %s' %
                             (profilePath, ex))
                raise
            logger.debug('SMSC Server starting')
            self.__class__.smscDriverThread.start()
            logger.info('SMSC Server started in the thread %s' %
                        (self.__class__.smscDriverThread.getName()))
            self.__class__.started = True
        self.__class__.cv_smpp.release()
Exemple #2
0
 def __init__(self, verbose=None):
     _Verbose.__init__(self, verbose)
     self.__cond = Condition(Lock())
     self.__flag = False
Exemple #3
0
class _Event(_Verbose):

    # After Tim Peters' event class (without is_posted())

    def __init__(self, verbose=None):
        _Verbose.__init__(self, verbose)
        self.__cond = Condition(Lock())
        self.__flag = False

    def isSet(self):
        return self.__flag

    def set(self):
        self.__cond.acquire()
        try:
            self.__flag = True
            self.__cond.notifyAll()
        finally:
            self.__cond.release()

    def clear(self):
        self.__cond.acquire()
        try:
            self.__flag = False
        finally:
            self.__cond.release()

    def wait(self, timeout=None):
        self.__cond.acquire()
        try:
            if not self.__flag:
                self.__cond.wait(timeout)
        finally:
            self.__cond.release()
Exemple #4
0
 def __init__(self, value=1, verbose=None):
     assert value >= 0, "Semaphore initial value must be >= 0"
     _Verbose.__init__(self, verbose)
     self.__cond = Condition(Lock())
     self.__value = value
Exemple #5
0
class _Semaphore(_Verbose):

    # After Tim Peters' semaphore class, but not quite the same (no maximum)

    def __init__(self, value=1, verbose=None):
        assert value >= 0, "Semaphore initial value must be >= 0"
        _Verbose.__init__(self, verbose)
        self.__cond = Condition(Lock())
        self.__value = value

    def acquire(self, blocking=1):
        rc = False
        self.__cond.acquire()
        while self.__value == 0:
            if not blocking:
                break
            if __debug__:
                self._note("%s.acquire(%s): blocked waiting, value=%s",
                           self, blocking, self.__value)
            self.__cond.wait()
        else:
            self.__value = self.__value - 1
            if __debug__:
                self._note("%s.acquire: success, value=%s",
                           self, self.__value)
            rc = True
        self.__cond.release()
        return rc

    def release(self):
        self.__cond.acquire()
        self.__value = self.__value + 1
        if __debug__:
            self._note("%s.release: success, value=%s",
                       self, self.__value)
        self.__cond.notify()
        self.__cond.release()
Exemple #6
0
class _Event(_Verbose):

    # After Tim Peters' event class (without is_posted())

    def __init__(self, verbose=None):
        _Verbose.__init__(self, verbose)
        self.__cond = Condition(Lock())
        self.__flag = False

    def isSet(self):
        return self.__flag

    is_set = isSet

    def set(self):
        self.__cond.acquire()
        try:
            self.__flag = True
            self.__cond.notifyAll()
        finally:
            self.__cond.release()

    def clear(self):
        self.__cond.acquire()
        try:
            self.__flag = False
        finally:
            self.__cond.release()

    def wait(self, timeout=None):
        self.__cond.acquire()
        try:
            if not self.__flag:
                self.__cond.wait(timeout)
            # Issue 2005: Since CPython 2.7, threading.Event.wait(timeout) returns boolean.
            # The function should return False if timeout is reached before the event is set.
            return self.__flag
        finally:
            self.__cond.release()
Exemple #7
0
 def __init__(self, value=1, verbose=None):
     if value < 0:
         raise ValueError("Semaphore initial value must be >= 0")
     _Verbose.__init__(self, verbose)
     self.__cond = Condition(Lock())
     self.__value = value
Exemple #8
0
 def __init__(self, verbose=None):
     _Verbose.__init__(self, verbose)
     self.__cond = Condition(Lock())
     self.__flag = False
Exemple #9
0
class _Event(_Verbose):

    # After Tim Peters' event class (without is_posted())

    def __init__(self, verbose=None):
        _Verbose.__init__(self, verbose)
        self.__cond = Condition(Lock())
        self.__flag = False

    def isSet(self):
        return self.__flag

    is_set = isSet

    def set(self):
        self.__cond.acquire()
        try:
            self.__flag = True
            self.__cond.notifyAll()
        finally:
            self.__cond.release()

    def clear(self):
        self.__cond.acquire()
        try:
            self.__flag = False
        finally:
            self.__cond.release()

    def wait(self, timeout=None):
        self.__cond.acquire()
        try:
            if not self.__flag:
                self.__cond.wait(timeout)
        finally:
            self.__cond.release()
Exemple #10
0
 def __init__(self, value=1, verbose=None):
     assert value >= 0, "Semaphore initial value must be >= 0"
     _Verbose.__init__(self, verbose)
     self.__cond = Condition(Lock())
     self.__value = value
Exemple #11
0
class _Semaphore(_Verbose):

    # After Tim Peters' semaphore class, but not quite the same (no maximum)

    def __init__(self, value=1, verbose=None):
        assert value >= 0, "Semaphore initial value must be >= 0"
        _Verbose.__init__(self, verbose)
        self.__cond = Condition(Lock())
        self.__value = value

    def acquire(self, blocking=1):
        rc = False
        self.__cond.acquire()
        while self.__value == 0:
            if not blocking:
                break
            if __debug__:
                self._note("%s.acquire(%s): blocked waiting, value=%s", self,
                           blocking, self.__value)
            self.__cond.wait()
        else:
            self.__value = self.__value - 1
            if __debug__:
                self._note("%s.acquire: success, value=%s", self, self.__value)
            rc = True
        self.__cond.release()
        return rc

    def release(self):
        self.__cond.acquire()
        self.__value = self.__value + 1
        if __debug__:
            self._note("%s.release: success, value=%s", self, self.__value)
        self.__cond.notify()
        self.__cond.release()
class _Event(_Verbose):

    # After Tim Peters' event class (without is_posted())

    def __init__(self, verbose=None):
        _Verbose.__init__(self, verbose)
        self.__cond = Condition(Lock())
        self.__flag = False

    def isSet(self):
        return self.__flag

    is_set = isSet

    def set(self):
        self.__cond.acquire()
        try:
            self.__flag = True
            self.__cond.notifyAll()
        finally:
            self.__cond.release()

    def clear(self):
        self.__cond.acquire()
        try:
            self.__flag = False
        finally:
            self.__cond.release()

    def wait(self, timeout=None):
        self.__cond.acquire()
        try:
            if not self.__flag:
                self.__cond.wait(timeout)
            # Issue 2005: Since CPython 2.7, threading.Event.wait(timeout) returns boolean.
            # The function should return False if timeout is reached before the event is set.
            return self.__flag
        finally:
            self.__cond.release()
 def __init__(self, value=1, verbose=None):
     if value < 0:
         raise ValueError("Semaphore initial value must be >= 0")
     _Verbose.__init__(self, verbose)
     self.__cond = Condition(Lock())
     self.__value = value