From: Matt Birkholz <puck@birchwood-abbey.net>
Date: Sat, 6 Dec 2014 00:48:49 +0000 (-0700)
Subject: smp: share: wind.o
X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=0a74b1e24e05f44be37f57c73bc0ca95bd942bda;p=mit-scheme.git

smp: share: wind.o
---

diff --git a/README.txt b/README.txt
index 127ac5681..73518f38a 100644
--- a/README.txt
+++ b/README.txt
@@ -584,10 +584,12 @@ command line.  The remaining 12 belong to the 7 microcode modules and
   vector.o:
 
   wind.o:
-  00000024 b current_winding_record
-  00000000 b dstack
-  00000028 B dstack_position
-  00000000 b save_binding_location
+  00000024 b current_winding_record	__thread
+  00000000 b dstack			__thread
+  00000028 B dstack_position		__thread
+  00000000 b save_binding_location	__thread
+
+	OK.  All state is thread-local now.
 
   prosenv.o:
 
diff --git a/src/microcode/wind.c b/src/microcode/wind.c
index 33f29ad12..b47e3c8d1 100644
--- a/src/microcode/wind.c
+++ b/src/microcode/wind.c
@@ -172,7 +172,7 @@ undo_binding (void * environment)
     (((struct binding_record *) environment) -> value);
 }
 
-static void ** save_binding_location;
+static __thread void ** save_binding_location;
 
 static void
 save_binding (void * environment)