X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-sunos-os.c;h=0edd0b1d7b8582b7deb91c70fe1e6f0c81930cf1;hb=4ba392170e98744f0ef0b8e08a5d42b988f1d0c9;hp=45d87f4e9b934c39d90291aa045d939885488003;hpb=402958f92506b9d3de852601b8c1ccb99b5ee558;p=sbcl.git diff --git a/src/runtime/x86-sunos-os.c b/src/runtime/x86-sunos-os.c index 45d87f4..0edd0b1 100644 --- a/src/runtime/x86-sunos-os.c +++ b/src/runtime/x86-sunos-os.c @@ -27,7 +27,6 @@ #ifdef LISP_FEATURE_SB_THREAD pthread_mutex_t modify_ldt_lock = PTHREAD_MUTEX_INITIALIZER; -#endif static int ldt_index_selector (int index) { @@ -90,6 +89,7 @@ install_segment (unsigned long start, unsigned long size) { return selector; } +#endif int arch_os_thread_init(struct thread *thread) { stack_t sigstack; @@ -102,6 +102,10 @@ int arch_os_thread_init(struct thread *thread) { thread->tls_cookie = sel; pthread_setspecific(specials,thread); + +# ifdef LISP_FEATURE_SB_SAFEPOINT + thread->selfptr = thread; +# endif #endif #ifdef LISP_FEATURE_C_STACK_IS_CONTROL_STACK @@ -121,8 +125,8 @@ int arch_os_thread_cleanup(struct thread *thread) { int n = thread->tls_cookie; struct ssd delete = { n, 0, 0, 0, 0}; - /* Set the %%fs register back to 0 and free the the ldt - * by setting it to NULL. + /* Set the %%fs register back to 0 and free the ldt by setting it + * to NULL. */ FSHOW_SIGNAL((stderr, "/ TLS: Freeing LDT %x\n", n));