Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mrDoctorWho/vk4xmpp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Smith <mrdoctorwho@gmail.com>2017-04-02 13:19:57 +0300
committerJohn Smith <mrdoctorwho@gmail.com>2017-04-02 13:19:57 +0300
commit484ee51bdfc2904b246ec2b2b6cc75d4f3b5ce6e (patch)
tree6dba3e679afa720f70786f01ea0c92d6a90c3b0d
parent5a4acdd8fd2addf73a1779f48f314f06bb1d6c67 (diff)
#184 add SO_KEEPALIVE to longpoll as a workaround for dead connectionssockopt
Signed-off-by: John Smith <mrdoctorwho@gmail.com>
-rw-r--r--library/longpoll.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/library/longpoll.py b/library/longpoll.py
index 9510bb4..6a055cb 100644
--- a/library/longpoll.py
+++ b/library/longpoll.py
@@ -159,7 +159,9 @@ class Poll(object):
opener = user.vk.makePoll()
debug("longpoll: user has been added to poll (jid: %s)", user.source)
if opener:
- cls.__list[opener.sock] = (user, opener)
+ sock = opener.sock
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
+ cls.__list[sock] = (user, opener)
return opener
logger.warning("longpoll: got null opener! (jid: %s)", user.source)
cls.__addToBuffer(user)