MCPcopy
hub / github.com/marimo-team/marimo / interrupt_kernel

Method interrupt_kernel

marimo/_session/managers/kernel.py:229–244  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

227 return self.kernel_task is not None and self.kernel_task.is_alive()
228
229 def interrupt_kernel(self) -> None:
230 if self.kernel_task is None:
231 return
232
233 if isinstance(self.kernel_task, threading.Thread):
234 # no interruptions in run mode
235 return
236
237 if self.kernel_task.pid is not None:
238 q = self.queue_manager.win32_interrupt_queue
239 if sys.platform == "win32" and q is not None:
240 LOGGER.debug("Queueing interrupt request for kernel.")
241 q.put_nowait(True)
242 else:
243 LOGGER.debug("Sending SIGINT to kernel")
244 os.kill(self.kernel_task.pid, signal.SIGINT)
245
246 def close_kernel(self) -> None:
247 assert self.kernel_task is not None, "kernel not started"

Callers 1

Calls 3

debugMethod · 0.45
put_nowaitMethod · 0.45
killMethod · 0.45

Tested by 1