Make utils.o state thread-local.
authorMatt Birkholz <puck@birchwood-abbey.net>
Sun, 19 Jul 2015 19:49:26 +0000 (12:49 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Thu, 26 Nov 2015 08:09:46 +0000 (01:09 -0700)
src/microcode/term.c
src/microcode/utils.c

index 53a1be12096a9d19ce5fdffddcf4d508bf2acf50..35b92ae990cf84f81bd1c744fb62004c5ee15faa 100644 (file)
@@ -32,7 +32,7 @@ USA.
 #include "edwin.h"
 #include "option.h"
 
-extern long death_blow;
+extern __thread long death_blow;
 extern void get_band_parameters (unsigned long *, unsigned long *);
 
 #ifdef __WIN32__
index 10f42268f68b495e2af346c01c8f2382ec6b5495..0826db17f4173d5bc7b55b4de17cf139f5b8e286 100644 (file)
@@ -182,7 +182,7 @@ err_print (long error_code, outf_channel where)
 #endif
 }
 
-long death_blow;
+__thread long death_blow;
 
 static void
 error_death (long code, const char * message)
@@ -335,7 +335,7 @@ error_external_return (void)
   signal_error_from_primitive (ERR_EXTERNAL_RETURN);
 }
 
-static SCHEME_OBJECT error_argument;
+static __thread SCHEME_OBJECT error_argument;
 
 void
 error_with_argument (SCHEME_OBJECT argument)