[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MIT-Scheme-devel] Symmetric MultiProcessing
From: |
Matt Birkholz |
Subject: |
Re: [MIT-Scheme-devel] Symmetric MultiProcessing |
Date: |
Tue, 18 Aug 2015 16:35:59 -0700 |
> From: Taylor R Campbell <address@hidden>
> Date: Tue, 18 Aug 2015 22:32:20 +0000
>
> [...] unless you've changed the way keyboard interrupts work so that
> they are actually delivered by thread events, that change breaks the
> major reason why we care about interrupt safety in the first place.
I think we're OK. The interrupt handler uses signal-thread-event (and
has since 1993).
An excerpt from `git blame src/runtime/intrpt.scm`:
72420834 v7/src/runtime/intrpt.scm (Chris Hanson 1993-04-29 05:24:34
+0000 196) (define (signal-interrupt hook/interrupt hook/clean-input char
interrupt)
72420834 v7/src/runtime/intrpt.scm (Chris Hanson 1993-04-29 05:24:34
+0000 197) (let ((thread (thread-mutex-owner (port/thread-mutex
console-i/o-port))))
72420834 v7/src/runtime/intrpt.scm (Chris Hanson 1993-04-29 05:24:34
+0000 198) (if thread
72420834 v7/src/runtime/intrpt.scm (Chris Hanson 1993-04-29 05:24:34
+0000 199) (signal-thread-event thread
72420834 v7/src/runtime/intrpt.scm (Chris Hanson 1993-04-29 05:24:34
+0000 200) (lambda ()
72420834 v7/src/runtime/intrpt.scm (Chris Hanson 1993-04-29 05:24:34
+0000 201) (if hook/interrupt
72420834 v7/src/runtime/intrpt.scm (Chris Hanson 1993-04-29 05:24:34
+0000 202) (hook/interrupt))