@@ -144,24 +144,26 @@ def finish():
144144 shell_channel .stop_on_recv ()
145145
146146 def on_shell_reply (msg ):
147- self .log .debug ("Nudge: shell info reply received: %s" , self .kernel_id )
148147 if not info_future .done ():
148+ self .log .debug ("Nudge: shell info reply received: %s" , self .kernel_id )
149+ shell_channel .stop_on_recv ()
149150 self .log .debug ("Nudge: resolving shell future" )
150151 info_future .set_result (msg )
151- if iopub_future .done ():
152- finish ()
153- self .log .debug ("Setting results " )
154- future .set_result (info_future .result ())
152+ if iopub_future .done ():
153+ finish ()
154+ self .log .debug ("Nudge: resolving main future in shell handler " )
155+ future .set_result (info_future .result ())
155156
156157 def on_iopub (msg ):
157- self .log .debug ("Nudge: First IOPub received: %s" , self .kernel_id )
158158 if not iopub_future .done ():
159+ self .log .debug ("Nudge: first IOPub received: %s" , self .kernel_id )
160+ iopub_channel .stop_on_recv ()
159161 self .log .debug ("Nudge: resolving iopub future" )
160162 iopub_future .set_result (None )
161- if info_future .done ():
162- finish ()
163- self .log .debug ("Setting results " )
164- future .set_result (info_future .result ())
163+ if info_future .done ():
164+ finish ()
165+ self .log .debug ("Nudge: resolving main future in iopub handler " )
166+ future .set_result (info_future .result ())
165167
166168 def on_timeout ():
167169 self .log .warning ("Nudge: Timeout waiting for kernel_info_reply: %s" , self .kernel_id )
@@ -346,8 +348,11 @@ def open(self, kernel_id):
346348 km .add_restart_callback (self .kernel_id , self .on_kernel_restarted )
347349 km .add_restart_callback (self .kernel_id , self .on_restart_failed , 'dead' )
348350
349- for channel , stream in self .channels .items ():
350- stream .on_recv_stream (self ._on_zmq_reply )
351+ def subscribe (value ):
352+ for channel , stream in self .channels .items ():
353+ stream .on_recv_stream (self ._on_zmq_reply )
354+
355+ connected .add_done_callback (subscribe )
351356
352357 return connected
353358
0 commit comments