From 95b0523bfe182c07e47248985ce105bd60afd30f Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Sun, 9 Sep 2018 17:44:53 +0200 Subject: [PATCH] top.lsp: make with-grabbed-console interrupt safe --- src/lsp/top.lsp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lsp/top.lsp b/src/lsp/top.lsp index 23f397411..575f6def6 100644 --- a/src/lsp/top.lsp +++ b/src/lsp/top.lsp @@ -466,13 +466,14 @@ under certain conditions; see file 'Copyright' for details.") #-threads `(progn ,@body) #+threads - `(unwind-protect - (progn - (register-in-waiting-list mp:*current-process*) - (grab-console mp:*current-process*) - ,@body) - (delete-from-waiting-list mp:*current-process*) - (release-console mp:*current-process*))) + `(mp:without-interrupts + (unwind-protect + (mp:with-restored-interrupts + (register-in-waiting-list mp:*current-process*) + (grab-console mp:*current-process*) + ,@body) + (delete-from-waiting-list mp:*current-process*) + (release-console mp:*current-process*)))) (defparameter *allow-recursive-debug* nil) (defparameter *debug-status* nil)