Branch: Tag:

2000-01-12

2000-01-12 23:20:10 by Henrik Grubbström (Grubba) <grubba@grubba.org>

More paranoid handling of error reporting in handler threads.

Rev: server/base_server/roxen.pike:1.389

5:    */      // ABS and suicide systems contributed freely by Francesco Chemolli - constant cvs_version="$Id: roxen.pike,v 1.388 2000/01/10 09:05:55 nilsson Exp $"; + constant cvs_version="$Id: roxen.pike,v 1.389 2000/01/12 23:20:10 grubba Exp $";      object backend_thread;   ArgCache argcache;
539: Inside #if defined(THREADS)
   }    } while(1);    }) { +  if (h = catch {    report_error(/* LOCALE->uncaught_error(*/describe_backtrace(q)/*)*/);    if (q = catch {h = 0;}) {    report_error(LOCALE->    uncaught_error(describe_backtrace(q)));    } -  +  }) { +  catch { +  report_error("Error reporting error:\n"); +  report_error(sprintf("Raw error: %O\n", h[0])); +  report_error(sprintf("Original raw error: %O\n", q[0])); +  };    }    }    } -  + }      void threaded_handle(function f, mixed ... args)   {