X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fthreads%2Fposix%2Fthread-posix.c;fp=src%2Fthreads%2Fposix%2Fthread-posix.c;h=defe4220e711761f2d8aad96266ddc0c50bd6428;hb=7659949229c634784f7d27aa8b679fdd4c8351ab;hp=bfcdc58a7c37ac9a54196457e05b455b117897e6;hpb=cd6b0057ea56e331b0c90e4f934edc3f4140e14e;p=cacao.git diff --git a/src/threads/posix/thread-posix.c b/src/threads/posix/thread-posix.c index bfcdc58a7..defe4220e 100644 --- a/src/threads/posix/thread-posix.c +++ b/src/threads/posix/thread-posix.c @@ -475,6 +475,10 @@ void threads_impl_thread_init(threadobject *t) t->suspendmutex = Mutex_new(); t->suspendcond = Condition_new(); + +#if defined(ENABLE_TLH) + tlh_init(&(t->tlh)); +#endif } /* threads_impl_thread_clear *************************************************** @@ -563,6 +567,11 @@ void threads_impl_thread_reuse(threadobject *t) /* not really needed */ t->flc_object = NULL; + +#if defined(ENABLE_TLH) + tlh_destroy(&(t->tlh)); + tlh_init(&(t->tlh)); +#endif } @@ -1617,6 +1626,17 @@ void threads_yield(void) sched_yield(); } +#if defined(ENABLE_TLH) + +void threads_tlh_add_frame() { + tlh_add_frame(&(THREADOBJECT->tlh)); +} + +void threads_tlh_remove_frame() { + tlh_remove_frame(&(THREADOBJECT->tlh)); +} + +#endif /* * These are local overrides for various environment variables in Emacs.