@@ -50,25 +50,27 @@ def __call__(self, environ, start_response):
50
50
recv_event = Event ()
51
51
recv_queue = Queue ()
52
52
53
+ # create websocket client
53
54
client = self .client (uwsgi .connection_fd (), send_event , send_queue , recv_event , recv_queue )
54
55
55
56
# spawn handler
56
- handler_g = spawn (handler , client )
57
+ handler = spawn (handler , client )
57
58
58
59
# spawn recv listener
59
60
def listener (client ):
60
61
ready = select ([client .fd ], [], [], client .timeout )
61
62
recv_event .set ()
62
- listener_g = spawn (listener , client )
63
+ listening = spawn (listener , client )
63
64
64
65
while True :
65
66
if not client .connected :
66
67
recv_queue .put (None )
67
- handler_g .join (client .timeout )
68
+ listening .kill ()
69
+ handler .join (client .timeout )
68
70
return ''
69
71
70
72
# wait for event to draw our attention
71
- ready = wait ([handler_g , send_event , recv_event ], None , 1 )
73
+ ready = wait ([handler , send_event , recv_event ], None , 1 )
72
74
73
75
# handle send events
74
76
if send_event .is_set ():
@@ -83,13 +85,13 @@ def listener(client):
83
85
recv_event .clear ()
84
86
try :
85
87
recv_queue .put (uwsgi .websocket_recv_nb ())
86
- listener_g = spawn (listener , client )
88
+ listening = spawn (listener , client )
87
89
except IOError :
88
90
client .connected = False
89
91
90
- # handler all cleaned up and ready to go
91
- elif handler_g .ready ():
92
- listener_g .kill ()
92
+ # handler done, we're outta here
93
+ elif handler .ready ():
94
+ listening .kill ()
93
95
return ''
94
96
95
97
0 commit comments