Fix bug: inferior REPL thread was never being killed.
authorChris Hanson <org/chris-hanson/cph>
Wed, 27 Oct 1993 23:01:46 +0000 (23:01 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 27 Oct 1993 23:01:46 +0000 (23:01 +0000)
v7/src/edwin/intmod.scm

index 4db6326bbb1e63ef22af91b6dc29e9f0e251c377..1936c2a1bcc34b6c1766f6e6511a187d34d54311 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: intmod.scm,v 1.74 1993/10/26 20:25:10 cph Exp $
+;;;    $Id: intmod.scm,v 1.75 1993/10/27 23:01:46 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989-93 Massachusetts Institute of Technology
 ;;;
@@ -230,14 +230,14 @@ REPL uses current evaluation environment."
   (buffer-get buffer 'INTERFACE-PORT))
 
 (define (kill-buffer-inferior-repl buffer)
-  (unwind-inferior-repl-buffer buffer)
   (let ((port (buffer-interface-port buffer)))
     (if port
        (let ((thread (port/thread port)))
          (if (not (thread-dead? thread))
              (signal-thread-event thread
                (lambda ()
-                 (exit-current-thread unspecific))))))))
+                 (exit-current-thread unspecific)))))))
+  (unwind-inferior-repl-buffer buffer))
 
 (define (unwind-inferior-repl-buffer buffer)
   (without-interrupts