File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1919import eventlet
2020from eventlet .green import socket
2121from eventlet .queue import Queue
22+ from greenlet import GreenletExit
2223import logging
2324from threading import Event
2425import time
@@ -80,7 +81,6 @@ def service_timeouts(cls):
8081
8182 def __init__ (self , * args , ** kwargs ):
8283 Connection .__init__ (self , * args , ** kwargs )
83-
8484 self ._write_queue = Queue ()
8585
8686 self ._connect_socket ()
@@ -126,6 +126,8 @@ def handle_write(self):
126126 log .debug ("Exception during socket send for %s: %s" , self , err )
127127 self .defunct (err )
128128 return # Leave the write loop
129+ except GreenletExit : # graceful greenthread exit
130+ return
129131
130132 def handle_read (self ):
131133 while True :
@@ -137,6 +139,8 @@ def handle_read(self):
137139 self , err )
138140 self .defunct (err )
139141 return # leave the read loop
142+ except GreenletExit : # graceful greenthread exit
143+ return
140144
141145 if buf and self ._iobuf .tell ():
142146 self .process_io_buffer ()
You can’t perform that action at this time.
0 commit comments