diff options
author | alkorgun <alkorgun@gmail.com> | 2014-02-16 01:09:03 +0400 |
---|---|---|
committer | alkorgun <alkorgun@gmail.com> | 2014-02-16 01:09:03 +0400 |
commit | 66362f93c97d7666e62f61e99c299888d7927dca (patch) | |
tree | 15046c40b687b6329388b575cb23b99f4e792305 | |
parent | a538e8b141dbac5762a50b82d66c4b7eede6cc4d (diff) |
SendSemaphore extended
-rw-r--r-- | xmpp/transports.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xmpp/transports.py b/xmpp/transports.py index 3900d79..6926410 100644 --- a/xmpp/transports.py +++ b/xmpp/transports.py @@ -66,8 +66,10 @@ class SendSemaphore(object): def acquire(self, blocking=1):
rc = self.__lock.acquire(blocking)
- if blocking and self.interval and time.time() - self.__released < self.interval:
- time.sleep(self.interval)
+ if blocking and self.interval:
+ elapsed = time.time() - self.__released
+ if elapsed < self.interval:
+ time.sleep(self.interval - elapsed)
return rc
__enter__ = acquire
|