]> Zhao Yanbai Git Server - minix.git/commitdiff
libmthread: do not dump stack for free threads 53/953/2
authorDavid van Moolenbroek <david@minix3.org>
Thu, 29 Aug 2013 22:57:16 +0000 (00:57 +0200)
committerLionel Sambuc <lionel@minix3.org>
Tue, 18 Feb 2014 10:25:03 +0000 (11:25 +0100)
Change-Id: Ic438a252f5bddaf1513f554c71173e6fffb0c674

lib/libmthread/misc.c

index 86c8800acb74afa2b9ce162a5d0742a89d4a8983..51c99c8ab11f81d6dffff41a2aa871388760d50b 100644 (file)
@@ -122,10 +122,14 @@ void mthread_stacktrace(mthread_thread_t t)
   mcontext_t *mtx;
   struct stackframe_s *frame;
 
-  printf("thread %d: ", t);
-
   tcb = mthread_find_tcb(t);
   ctx = &tcb->m_context;
+
+  if (t != MAIN_THREAD && ctx->uc_stack.ss_size == 0)
+       return; /* no stack, no stacktrace */
+
+  printf("thread %d: ", t);
+
   mtx = &ctx->uc_mcontext;
   frame = &mtx->mc_p_reg;
   bp = frame->fp;