Skip to content

Commit 78817ee

Browse files
committed
Merge pull request dpallot#17 from lrozema/master
Only include sockets in the writers of select that actually want to send something.
2 parents 0d63ba6 + 6d957f4 commit 78817ee

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

SimpleWebSocketServer/SimpleWebSocketServer.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,16 @@ def close(self):
577577

578578
def serveforever(self):
579579
while True:
580-
rList, wList, xList = select(self.listeners, self.listeners, self.listeners, 3)
580+
writers = []
581+
for fileno in self.listeners:
582+
try:
583+
client = self.connections[fileno]
584+
if client.sendq:
585+
writers.append(fileno)
586+
except Exception as n:
587+
pass
588+
589+
rList, wList, xList = select(self.listeners, writers, self.listeners)
581590

582591
for ready in wList:
583592
client = None
@@ -707,4 +716,4 @@ def _constructWebSocket(self, sock, address):
707716

708717
def serveforever(self):
709718
super(SimpleSSLWebSocketServer, self).serveforever()
710-
719+

0 commit comments

Comments
 (0)