summaryrefslogtreecommitdiff
path: root/sleekxmpp/xmlstream/xmlstream.py
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2011-06-01 15:17:13 -0700
committerLance Stout <lancestout@gmail.com>2011-06-01 15:17:13 -0700
commit8f9100c7620c1c00e6e6d817be1ad8ffc67cd1c5 (patch)
treea490670f37860c42c52acfbebf12c680284996f4 /sleekxmpp/xmlstream/xmlstream.py
parent83a73ac9b751f6403a43cb341460a46171e0908b (diff)
parent14693233504383d4df0ed092c870d5d7baea6538 (diff)
downloadslixmpp-8f9100c7620c1c00e6e6d817be1ad8ffc67cd1c5.tar.gz
slixmpp-8f9100c7620c1c00e6e6d817be1ad8ffc67cd1c5.tar.bz2
slixmpp-8f9100c7620c1c00e6e6d817be1ad8ffc67cd1c5.tar.xz
slixmpp-8f9100c7620c1c00e6e6d817be1ad8ffc67cd1c5.zip
Merge branch 'develop' into stream_features
Diffstat (limited to 'sleekxmpp/xmlstream/xmlstream.py')
-rw-r--r--sleekxmpp/xmlstream/xmlstream.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/sleekxmpp/xmlstream/xmlstream.py b/sleekxmpp/xmlstream/xmlstream.py
index 2d72de5f..fd313536 100644
--- a/sleekxmpp/xmlstream/xmlstream.py
+++ b/sleekxmpp/xmlstream/xmlstream.py
@@ -192,6 +192,7 @@ class XMLStream(object):
self.event_queue = queue.Queue()
self.send_queue = queue.Queue()
+ self.__failed_send_stanza = None
self.scheduler = Scheduler(self.event_queue, self.stop)
self.namespace_map = {StanzaBase.xml_ns: 'xml'}
@@ -1021,16 +1022,21 @@ class XMLStream(object):
try:
while not self.stop.isSet():
self.session_started_event.wait()
- try:
- data = self.send_queue.get(True, 1)
- except queue.Empty:
- continue
+ if self.__failed_send_stanza is not None:
+ data = self.__failed_send_stanza
+ self.__failed_send_stanza = None
+ else:
+ try:
+ data = self.send_queue.get(True, 1)
+ except queue.Empty:
+ continue
log.debug("SEND: %s" % data)
try:
self.socket.send(data.encode('utf-8'))
except Socket.error as serr:
self.event('socket_error', serr)
log.warning("Failed to send %s" % data)
+ self.__failed_send_stanza = data
self.disconnect(self.auto_reconnect)
except KeyboardInterrupt:
log.debug("Keyboard Escape Detected in _send_thread")