The interrupt function terminal-interrupt ignores the signal servicing thread

This commit is contained in:
Juan Jose Garcia Ripoll 2011-01-23 18:58:56 +01:00
parent 979d60834f
commit 92fd2856ba

View file

@ -509,7 +509,8 @@ Use special code 0 to cancel this operation.")
(loop with this = mp:*current-process*
for p in (mp:all-processes)
unless (or (eq p this)
(eq (mp:process-name p) 'si::handle-signal))
(member (mp:process-name p)
'(si:signal-servicing si::handle-signal)))
collect p)))
(when (and (= (length all-processes) 1) *interrupt-lonely-threads-p*)
(mp:interrupt-process (first all-processes)
@ -520,7 +521,7 @@ Use special code 0 to cancel this operation.")
(push i suspended)
(mp:process-suspend i)))
(flet ((do-query-process ()
(print all-processes)
(print all-processes)
(query-process all-processes)))
(mp:with-local-interrupts
(restart-case (simple-terminal-interrupt)