]> Zhao Yanbai Git Server - minix.git/commitdiff
libsys: panic hook feature 39/539/2
authorBen Gras <ben@minix3.org>
Tue, 7 May 2013 12:36:59 +0000 (12:36 +0000)
committerBen Gras <ben@minix3.org>
Tue, 7 May 2013 17:18:40 +0000 (17:18 +0000)
. vfs: use it to dump threads stacks

Change-Id: I7ae3521fc153a407505f11049629e6d4142cf7c7

lib/libsys/panic.c
servers/vfs/misc.c

index 79c47bce20afcd1dd19e184350f499f8ee0d7511..630a1764364818f48d644b337cfdd1af9db7527e 100644 (file)
@@ -6,6 +6,15 @@
 
 #include "syslib.h"
 
+void panic_hook(void);
+
+__weak_alias(panic_hook, __panic_hook);
+
+void __panic_hook(void)
+{
+       ;
+}
+
 /*===========================================================================*
  *                             panic                                *
  *===========================================================================*/
@@ -38,6 +47,8 @@ void panic(const char *fmt, ...)
   printf("syslib:panic.c: stacktrace: ");
   util_stacktrace();
 
+  panic_hook();
+
   /* Try exit */
   _exit(1);
 
index 754bdb0ef780c9629008d9045f5222091b59fd4c..44d9d53b7d818e59d40c957fd422db28690a0acc 100644 (file)
@@ -761,3 +761,10 @@ ds_event(void *arg)
   thread_cleanup(NULL);
   return(NULL);
 }
+
+/* A function to be called on panic(). */
+void panic_hook(void)   
+{               
+  printf("VFS mthread stacktraces:\n");
+  mthread_stacktraces(); 
+}