Fix attach_thread to allocate a TLS index for *gc-inhibit* if needed
authorDavid Lichteblau <david@lichteblau.com>
Wed, 26 Dec 2012 14:39:34 +0000 (15:39 +0100)
committerDavid Lichteblau <david@lichteblau.com>
Sat, 29 Dec 2012 14:24:14 +0000 (15:24 +0100)
Instead of occasionally setting a global value for this variable...

Thanks to Stas Boukarev for the bug report.

src/runtime/thread.c

index 46f8f7d..26f6de6 100644 (file)
@@ -535,7 +535,7 @@ attach_os_thread(init_thread_data *scribble)
      * tempting to just perform such unsafe allocation though.  So let's
      * at least try to suppress GC before consing, and hope that it
      * works: */
-    SetSymbolValue(GC_INHIBIT, T, th);
+    bind_variable(GC_INHIBIT, T, th);
 
     uword_t stacksize
         = (uword_t) th->control_stack_end - (uword_t) th->control_stack_start;