(begin
(set! running? #t)
(trigger-gc-daemons!)
- (set! running? #f))))))
+ (set! running? #f)
+ (handle-current-thread-events))))))
(define event:console-resize)
(define (console-resize-handler interrupt-code interrupt-enables)
generate-suspend-file?)
(export (runtime swank)
keyboard-interrupt-vector)
+ (import (runtime thread)
+ handle-current-thread-events)
(initialization (initialize-package!)))
(define-package (runtime lambda-abstraction)
(deliver-timer-events (get-system-times))
(maybe-signal-io-thread-events))))
(%maybe-toggle-thread-timer))))
+
+(define (handle-current-thread-events)
+ (without-interrupts
+ (lambda ()
+ (let ((thread first-running-thread))
+ (if thread
+ (if (not (thread/block-events? thread))
+ (handle-thread-events thread))
+ (outf-error
+ "\nhandle-current-thread-events: no current thread\n"))))))
\f
;;;; Subprocess Events