X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fthread.c;h=ee11e0f6503d7799c8294fc6e35aff28f449346c;hb=2c5a710f4da100f8aa9c7262fa76395f73ee4307;hp=8e3f7fd8703218c3ba8c6d14cd699fc9940dfceb;hpb=6793d7dd32d1fa48d2ee395e240e1b7ff857912e;p=sbcl.git diff --git a/src/runtime/thread.c b/src/runtime/thread.c index 8e3f7fd..ee11e0f 100644 --- a/src/runtime/thread.c +++ b/src/runtime/thread.c @@ -131,6 +131,10 @@ initial_thread_trampoline(struct thread *th) #ifdef LISP_FEATURE_SB_THREAD pthread_setspecific(lisp_thread, (void *)1); #endif +#if defined(LISP_FEATURE_SB_THREAD) && defined(LISP_FEATURE_PPC) + /* SIG_STOP_FOR_GC defaults to blocked on PPC? */ + unblock_gc_signals(0,0); +#endif function = th->no_tls_value_marker; th->no_tls_value_marker = NO_TLS_VALUE_MARKER_WIDETAG; if(arch_os_thread_init(th)==0) return 1; @@ -314,12 +318,12 @@ new_thread_trampoline(struct thread *th) #ifdef LISP_FEATURE_MACH_EXCEPTION_HANDLER FSHOW((stderr, "Deallocating mach port %x\n", THREAD_STRUCT_TO_EXCEPTION_PORT(th))); - mach_port_move_member(mach_task_self(), + mach_port_move_member(current_mach_task, THREAD_STRUCT_TO_EXCEPTION_PORT(th), MACH_PORT_NULL); - mach_port_deallocate(mach_task_self(), + mach_port_deallocate(current_mach_task, THREAD_STRUCT_TO_EXCEPTION_PORT(th)); - mach_port_destroy(mach_task_self(), + mach_port_destroy(current_mach_task, THREAD_STRUCT_TO_EXCEPTION_PORT(th)); #endif