diff options
author | John Smith <mrdoctorwho@gmail.com> | 2017-04-02 13:19:57 +0300 |
---|---|---|
committer | John Smith <mrdoctorwho@gmail.com> | 2017-04-02 13:19:57 +0300 |
commit | 484ee51bdfc2904b246ec2b2b6cc75d4f3b5ce6e (patch) | |
tree | 6dba3e679afa720f70786f01ea0c92d6a90c3b0d | |
parent | 5a4acdd8fd2addf73a1779f48f314f06bb1d6c67 (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.py | 4 |
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) |