From 5897b39c49349686b5e5e80338aee781da84ec15 2013-04-24 04:47:48 From: MinRK <benjaminrk@gmail.com> Date: 2013-04-24 04:47:48 Subject: [PATCH] add MKM.remove_kernel so that shutdown_kernel is not the only mechanism for removing kernels --- diff --git a/IPython/kernel/multikernelmanager.py b/IPython/kernel/multikernelmanager.py index 9fc5707..063aaf8 100644 --- a/IPython/kernel/multikernelmanager.py +++ b/IPython/kernel/multikernelmanager.py @@ -128,7 +128,17 @@ class MultiKernelManager(LoggingConfigurable): Should the kernel be shutdown forcibly using a signal. """ self.log.info("Kernel shutdown: %s" % kernel_id) - del self._kernels[kernel_id] + self.remove_kernel(kernel_id) + + def remove_kernel(self, kernel_id): + """remove a kernel from our mapping. + + Mainly so that a kernel can be removed if it is already dead, + without having to call shutdown_kernel. + + The kernel object is returned. + """ + return self._kernels.pop(kernel_id) def shutdown_all(self, now=False): """Shutdown all kernels."""