pike.git / src / error.c

version» Context lines:

pike.git/src/error.c:14:   #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.62 2000/08/21 21:32:37 grubba Exp $"); + RCSID("$Id: error.c,v 1.63 2000/09/01 18:41:27 grubba Exp $");      #undef ATTRIBUTE   #define ATTRIBUTE(X)      /*    * Backtrace handling.    */      struct pike_backtrace   {
pike.git/src/error.c:442: Inside #if defined(PIKE_DEBUG)
   init_buf();    describe_svalue(&throw_value,0,0);    s=simple_free_buf();    fprintf(stderr,"%s\n",s);    free(s);    }   #endif    exit(1);   }    + #ifdef __NT__ + /* Wrapper around abort() to avoid interactive requesters on NT. */ + static void do_abort() + { +  if (!d_flag && !getenv("PIKE_DEBUG")) { +  exit(-6); /* -SIGIOT */ +  } +  abort(); + } + #else /* !__NT__ */ + #define do_abort() abort() + #endif /* __NT__ */ +    PMOD_EXPORT void fatal_on_error(void *msg)   {   #ifdef PIKE_DEBUG    dump_backlog();   #endif    fprintf(stderr,"%s\n",(char *)msg); -  abort(); +  do_abort();   }      PMOD_EXPORT DECLSPEC(noreturn) void error(const char *fmt,...) ATTRIBUTE((noreturn,format (printf, 1, 2)))   {    va_list args;    va_start(args,fmt);    va_error(fmt,args);    va_end(args);   }      PMOD_EXPORT DECLSPEC(noreturn) void debug_fatal(const char *fmt, ...) ATTRIBUTE((noreturn,format (printf, 1, 2)))   {    va_list args;    static int in_fatal = 0;       va_start(args,fmt);    /* Prevent double fatal. */    if (in_fatal)    {    (void)VFPRINTF(stderr, fmt, args); -  abort(); +  do_abort();    }       in_fatal = 1;   #ifdef PIKE_DEBUG    dump_backlog();   #endif       {    extern int Pike_in_gc;    if(Pike_in_gc)
pike.git/src/error.c:500:    {    fprintf(stderr,"Attempting to dump backlog (may fail)...\n");    push_error("Backtrace at time of fatal:\n");    APPLY_MASTER("describe_backtrace",1);    if(Pike_sp[-1].type==PIKE_T_STRING)    write_to_stderr(Pike_sp[-1].u.string->str, Pike_sp[-1].u.string->len);    }else{    fprintf(stderr,"No stack - no backtrace.\n");    }    fflush(stderr); -  abort(); +  do_abort();   }      #if 1      #define ERR_DECLARE   #include "errors.h"         void f_error_cast(INT32 args)   {