From 675a2df36b91ec6b8b54b527786d2af312f6e74e Mon Sep 17 00:00:00 2001 From: raylu Date: Fri, 11 Jan 2013 17:14:13 +0400 Subject: [PATCH] ssl: socket.sendall(): trampoline if sent 0 bytes; fixes CPU burn https://bitbucket.org/which_linden/eventlet/issue/134/greenssl-performance-issues --- eventlet/green/ssl.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eventlet/green/ssl.py b/eventlet/green/ssl.py index 88c47a3..6848c1d 100644 --- a/eventlet/green/ssl.py +++ b/eventlet/green/ssl.py @@ -130,6 +130,8 @@ class GreenSSLSocket(__ssl.SSLSocket): while (count < amount): v = self.send(data[count:]) count += v + if v == 0: + trampoline(self, write=True, timeout_exc=timeout_exc('timed out')) return amount else: while True: