pike.git / src / error.c

version» Context lines:

pike.git/src/error.c:13:   #include "array.h"   #include "object.h"   #include "main.h"   #include "builtin_functions.h"   #include "backend.h"   #include "operators.h"   #include "module_support.h"   #include "threads.h"   #include "gc.h"    - RCSID("$Id: error.c,v 1.45 2000/04/12 18:40:12 hubbe Exp $"); + RCSID("$Id: error.c,v 1.46 2000/04/16 22:10:31 hubbe Exp $");      #undef ATTRIBUTE   #define ATTRIBUTE(X)      JMP_BUF *recoveries=0;      #ifdef PIKE_DEBUG   void check_recovery_context(void)   {    char foo;
pike.git/src/error.c:266:    va_list args;    static int in_fatal = 0;       va_start(args,fmt);    /* Prevent double fatal. */    if (in_fatal)    {    (void)VFPRINTF(stderr, fmt, args);    abort();    } +     in_fatal = 1;   #ifdef PIKE_DEBUG    dump_backlog();   #endif    -  +  { +  extern int Pike_in_gc; +  if(Pike_in_gc) +  { +  fprintf(stderr,"Pike was in GC stage %d when this fatal occured:\n",Pike_in_gc); +  Pike_in_gc=0; +  } +     (void)VFPRINTF(stderr, fmt, args);       d_flag=t_flag=0;    push_error("Attempting to dump backlog (may fail).\n");    APPLY_MASTER("describe_backtrace",1);    if(sp[-1].type==T_STRING)    write_to_stderr(sp[-1].u.string->str, sp[-1].u.string->len);       fflush(stderr);    abort();