X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.c;h=6c9f88aa76f2024b75b133c6e05159e5d7158d34;hb=e4542bc034db18cf98f005b2dac53a6d7d5c7260;hp=7cf1139c2ac7052b9c528ac214a1157b2f49d381;hpb=c2e825e81b3ed9355f7f3e3607cbc0274daaee84;p=sbcl.git diff --git a/src/runtime/globals.c b/src/runtime/globals.c index 7cf1139..6c9f88a 100644 --- a/src/runtime/globals.c +++ b/src/runtime/globals.c @@ -17,8 +17,8 @@ #include #include -#include "runtime.h" #include "sbcl.h" +#include "runtime.h" #include "globals.h" #include "validate.h" @@ -42,7 +42,6 @@ lispobj *current_auto_gc_trigger; #endif #ifdef LISP_FEATURE_SB_THREAD -pid_t parent_pid; boolean stop_the_world=0; #endif @@ -51,20 +50,24 @@ boolean stop_the_world=0; * is done). For the GENCGC, it always points to DYNAMIC_SPACE_START. */ lispobj *current_dynamic_space; +#if defined(LISP_FEATURE_SB_THREAD) +pthread_key_t specials=0; +#endif + void globals_init(void) { /* Space, stack, and free pointer vars are initialized by * validate() and coreparse(). */ current_control_frame_pointer = (lispobj *)0; -#ifndef LISP_FEATURE_GENCGC +#ifndef LISP_FEATURE_GENCGC /* no GC trigger yet */ current_auto_gc_trigger = NULL; #endif /* Set foreign function call active. */ foreign_function_call_active = 1; -#ifdef LISP_FEATURE_SB_THREAD - parent_pid=getpid(); +#if defined(LISP_FEATURE_SB_THREAD) + pthread_key_create(&specials,0); #endif }