Branch: Tag:

2012-02-18

2012-02-18 01:14:34 by Martin Stjernholm <mast@lysator.liu.se>

Use the error formatter in the master in several places.

Centralize it to get "Internal server error" strings in more places.

Rev: server/base_server/roxen.pike:1.1112

6:   // Per Hedbor, Henrik Grubbström, Pontus Hagland, David Hedbor and others.   // ABS and suicide systems contributed freely by Francesco Chemolli    - constant cvs_version="$Id: roxen.pike,v 1.1111 2012/02/14 23:10:13 jonasw Exp $"; + constant cvs_version="$Id: roxen.pike,v 1.1112 2012/02/18 01:14:34 mast Exp $";      //! @appears roxen   //!
221: Inside #if defined(HAVE_EFFECTIVE_USER) and #if defined(THREADS)
  #ifdef THREADS    if (euid_egid_lock) {    if (mixed err = catch { mutex_key = euid_egid_lock->lock(); }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    }    threads_disabled = _disable_threads();   #endif /* THREADS */
282: Inside #if defined(HAVE_EFFECTIVE_USER) and #if efun(cleargroups)
   if (u[2]) {   #if efun(cleargroups)    if (mixed err = catch { cleargroups(); }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #endif /* cleargroups */   #if efun(initgroups)    if (mixed err = catch { initgroups(u[0], u[3]); }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #endif    }    gid = gid || getgid();
379: Inside #if defined(HAVE_EFFECTIVE_USER)
   "from backend")+"\n", saved_uid, saved_gid);    }    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    }      #ifdef PRIVS_DEBUG
401: Inside #if defined(HAVE_EFFECTIVE_USER) and #if efun(cleargroups)
   array u = getpwuid(saved_uid);   #if efun(cleargroups)    if (mixed err = catch { cleargroups(); }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #endif /* cleargroups */    if(u && (sizeof(u) > 3)) {    if (mixed err = catch { initgroups(u[0], u[3]); }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    }    setegid(saved_gid);    seteuid(saved_uid);
483:    Sql.Sql db = connect_to_my_mysql(0, "mysql");    db->shutdown();    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    }    // Zap some of the remaining caches.    destruct (argcache);
498: Inside #if 0
   else    report_notice("Shutting down Roxen.\n");    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #endif    roxenloader.real_exit( exit_code ); // Now we die...   }
515:    if (mixed err =    catch (report_notice("Exiting roxen (spurious signals received).\n")) ||    catch (stop_all_configurations())) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    // Zap some of the remaining caches.    destruct(argcache);    destruct(cache);   #ifdef THREADS    if (mixed err = catch (stop_handler_threads())) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #endif /* THREADS */    roxenloader.real_exit(exit_code);    }
533:   #endif       if (mixed err = catch(stop_all_configurations())) -  werror (describe_backtrace (err)); +  master()->handle_error (err);      #ifdef SNMP_AGENT    if(objectp(snmpagent)) {
958:    if (call_out) monitor->remove_call_out (call_out);   #endif    if (h = catch { -  report_error(/*LOCALE("", "Uncaught error in handler thread: %s" -  "Client will not get any response from Roxen.\n"),*/ -  describe_backtrace(q)); +  master()->handle_error (q);    if (q = catch {h = 0;}) {    report_error(LOC_M(5, "Uncaught error in handler thread: %sClient "    "will not get any response from Roxen.")+"\n",
1537:    mixed err = catch {    func (@args);    }; -  if (err) { -  catch { -  report_error(LOC_M(66, "Uncaught error in background process:") + -  "%s\n", describe_backtrace(err)); -  }; -  } +  if (err) +  master()->handle_error (err);    background_run (period, repeat, func, args);    }   
3351: Inside #if undefined(__NT__)
   // Catch for paranoia reasons.    describe_all_threads();    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #ifdef THREADS    report_debug("\nHandler queue:\n");    if (mixed err = catch {
3366: Inside #if undefined(__NT__) and #if defined(THREADS)
   }    }    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #endif    low_engage_abs();   }
4514: Inside #if 0
   report_warning("Failed to sync cached atimes for "+name+"\n");   #if 0   #ifdef DEBUG -  report_debug (describe_backtrace (err)); +  master()->handle_error (err);   #endif   #endif    }
5216: Inside #if defined(THREADS)
   // If this is necessary from every handler thread, these    // things are thread local and thus are no locks necessary.    if (mixed err = catch { mutex_key = euid_egid_lock->lock(); }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    threads_disabled = _disable_threads();    }   #endif
5230: Inside #if constant(initgroups)
   initgroups(pw[0], gid);    // Doesn't always work - David.    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);   #endif       if (query("permanent_uid")) {
5513: Inside #if defined(THREADS)
   if (mixed err = catch {    data = Protocols.HTTP.get_url_data( f, 0, hd );    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    }   #endif    if( !data )
5545: Inside #if defined(THREADS)
   if (mixed err = catch {    data = Protocols.HTTP.get_url_data( f, 0, hd );    }) -  werror (describe_backtrace (err)); +  master()->handle_error (err);    }   #endif    if( !data )