The latter is hopefully unnecessary on modern machinery.
intrpt.scm:60: (clear-interrupts! 1)
+ Definition.
intrpt.scm:88: (clear-interrupts! interrupt-bit/timer)
+ Caller: timer-interrupt-handler
intrpt.scm:96: (clear-interrupts! interrupt-bit/suspend)
+ Caller: suspend-interrupt-handler
intrpt.scm:124: (clear-interrupts! interrupt-bit/after-gc))
+ Caller: after-gc-interrupt-handler
intrpt.scm:133: (clear-interrupts! interrupt-bit/global-3)
+ Caller: console-resize-handler
intrpt.scm:142: (clear-interrupts! interrupt-bit)
+ Caller: value of illegal-interrupt-handler
intrpt.scm:157: (clear-interrupts! interrupt-bit/kbd)
+ Caller: external-interrupt-handler
intrpt.scm:200: (without-interrupts
+ Caller: install
+ initialize-package!
+
+ OK. Clear-interrupts! is used during the servicing of each
+ interrupt. Without-interrupts is used for atomic access when
+ installing the handlers but is unnecessary assuming
+ initialize-package! is called during a single-threaded cold
+ load.
io.scm:96: (without-interrupts
io.scm:176: (let ((n (without-interrupts
(interrupt)))))))
\f
(define (install)
- (without-interrupts
- (lambda ()
(let ((system-interrupt-vector
(vector-ref (get-fixed-objects-vector) index:interrupt-vector))
(old-interrupt-mask-vector
index:termination-vector
termination-vector)
- (set-fixed-objects-vector! (get-fixed-objects-vector)))))))
\ No newline at end of file
+ (set-fixed-objects-vector! (get-fixed-objects-vector)))))
\ No newline at end of file