mirror of
https://github.com/vale981/emacs-jupyter
synced 2025-03-05 23:41:38 -05:00
Refactor jupyter-start-new-kernel
This commit is contained in:
parent
8627c4892a
commit
aa054178b7
1 changed files with 14 additions and 14 deletions
|
@ -376,28 +376,28 @@ be set to the kernel manager instance, see
|
|||
(unless (child-of-class-p client-class 'jupyter-kernel-client)
|
||||
(signal 'wrong-type-argument
|
||||
(list '(subclass jupyter-kernel-client) client-class)))
|
||||
(let (km kc)
|
||||
(setq km (jupyter-kernel-manager :name kernel-name))
|
||||
(setq kc (jupyter-make-client km client-class))
|
||||
(condition-case-unless-debug err
|
||||
(let* ((manager (jupyter-kernel-manager :name kernel-name))
|
||||
(client (jupyter-make-client manager client-class)))
|
||||
(unwind-protect
|
||||
(let (reporter)
|
||||
(jupyter-start-channels kc)
|
||||
(jupyter-hb-unpause (oref kc hb-channel))
|
||||
(jupyter-start-kernel km 10)
|
||||
(unless (jupyter--wait-until-startup kc 10)
|
||||
(jupyter-start-channels client)
|
||||
(jupyter-hb-unpause (oref client hb-channel))
|
||||
(jupyter-start-kernel manager 10)
|
||||
(unless (jupyter--wait-until-startup client 10)
|
||||
(error "Kernel did not send startup message"))
|
||||
(setq reporter (make-progress-reporter "Requesting kernel info..."))
|
||||
(let* ((jupyter-inhibit-handlers t)
|
||||
(info (jupyter-wait-until-received :kernel-info-reply
|
||||
(jupyter-kernel-info-request kc)
|
||||
(jupyter-kernel-info-request client)
|
||||
2)))
|
||||
(if info (oset km kernel-info (jupyter-message-content info))
|
||||
(if info (oset manager kernel-info (jupyter-message-content info))
|
||||
(error "Kernel did not respond to kernel-info request"))
|
||||
(progress-reporter-done reporter))
|
||||
(cons km kc))
|
||||
(error (destructor kc)
|
||||
(destructor km)
|
||||
(signal (car err) (cdr err))))))
|
||||
(cons manager client))
|
||||
(unless (and (slot-boundp manager 'kernel-info)
|
||||
(oref manager kernel-info))
|
||||
(destructor client)
|
||||
(destructor manager)))))
|
||||
|
||||
(provide 'jupyter-kernel-manager)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue