smp: share: ostty.o
authorMatt Birkholz <puck@birchwood-abbey.net>
Fri, 5 Dec 2014 18:25:03 +0000 (11:25 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Sun, 21 Dec 2014 19:19:10 +0000 (12:19 -0700)
README.txt
src/microcode/ostty.c

index 7a1cb9211325d167f7bd5f46e80dddde9b6ff15e..fdbb6438ff4b603ca3f5fcc15d6c75efde5c3bce 100644 (file)
@@ -417,7 +417,15 @@ command line.  The remaining 12 belong to the 7 microcode modules and
   osscheme.o:
 
   ostty.o:
-  00000000 b next_interrupt_char
+  00000000 b next_interrupt_char       __thread
+
+       OK.  Now thread-local.  Set by signal handlers and used by
+       external-interrupt-handler.  The signal handlers may race, but
+       only if you keep banging on the keyboard.  (Don't do that. :0)
+       Assuming the handler runs with the INT_Character and INT_Timer
+       interrupts masked, the Scheme handler should stay on the
+       current processor and reliably read whatever the last signal
+       handler wrote.
 
   outf.o:
   00000000 b stderr_mutex
index 2140df817c1bc21d855d60f620c29be31b46c867..5b57f68ff0fc511d63081d5397a245d2792d0c19 100644 (file)
@@ -28,7 +28,7 @@ USA.
 #include "osscheme.h"
 #include "prims.h"
 
-static cc_t next_interrupt_char;
+static __thread cc_t next_interrupt_char;
 
 void
 tty_set_next_interrupt_char (cc_t c)