tools: add a env. variable to remove runtime stack showing
authorJean-Sebastien Gelinas <calestar@gmail.com>
Mon, 23 Nov 2009 23:06:31 +0000 (18:06 -0500)
committerJean Privat <jean@pryen.org>
Mon, 11 Jan 2010 21:52:25 +0000 (16:52 -0500)
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

clib/nit_main.c

index 1f955cd..4d34f46 100644 (file)
@@ -135,12 +135,15 @@ void prepare_signals(void) {
 }
 struct stack_frame_t *stack_frame_head = NULL;
 void nit_exit(int i) {
-       fprintf(stderr, ",---- Stack trace -- - -  -\n");
-       while(stack_frame_head != NULL) {
-               fprintf(stderr, "| %s (%s:%d)\n", stack_frame_head->meth, stack_frame_head->file, stack_frame_head->line);
-               if (stack_frame_head == stack_frame_head->prev) break;
-               stack_frame_head = stack_frame_head->prev;
+       char *opt=getenv("NIT_NO_STACK");
+       if (opt == NULL || strcmp(opt, "0")==0) {
+               fprintf(stderr, ",---- Stack trace -- - -  -\n");
+               while(stack_frame_head != NULL) {
+                       fprintf(stderr, "| %s (%s:%d)\n", stack_frame_head->meth, stack_frame_head->file, stack_frame_head->line);
+                       if (stack_frame_head == stack_frame_head->prev) break;
+                       stack_frame_head = stack_frame_head->prev;
+               }
+               fprintf(stderr, "`------------------- - -  -\n");
        }
-       fprintf(stderr, "`------------------- - -  -\n");
        exit(i);
 }