Roxen.git / server / base_server / roxen.pike

version» Context lines:

Roxen.git/server/base_server/roxen.pike:1:   // This file is part of Roxen WebServer.   // Copyright © 1996 - 2004, Roxen IS.   //   // The Roxen WebServer main program.   //   // 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.991 2008/09/29 15:57:33 mast Exp $"; + constant cvs_version="$Id: roxen.pike,v 1.992 2008/09/29 16:10:56 mast Exp $";      //! @appears roxen   //!   //! The Roxen WebServer main program.      // The argument cache. Used by the image cache.   ArgCache argcache;      // Some headerfiles   #define IN_ROXEN
Roxen.git/server/base_server/roxen.pike:724: Inside #if defined(THREADS) and #if undefined(NO_SLOW_REQ_BT)
   // Avoid false alarms for the backend thread if we got here due to    // a race. Should perhaps have something like this for the handler    // threads too, but otoh races are more rare there due to the    // longer timeouts.    }       else {    report_debug ("###### %s 0x%x has been busy for more than %g seconds.\n",    thread == backend_thread ? "Backend thread" : "Thread",    thread->id_number(), timeout); -  describe_all_threads (threads_disabled); +  describe_all_threads (0, threads_disabled);    }       threads_disabled = 0; // Paranoia.   }      #endif // !NO_SLOW_REQ_BT      // // This is easier than when there are no threads.   // // See the discussion below. :-)   //
Roxen.git/server/base_server/roxen.pike:1718:    if( !requesthandler && rrhf )    {    requesthandler = (program)(rrhf);    }    Configuration c;    if( refs < 2 )    {    if(!mu)    {    mu = urls[sorted_urls[0]]; -  if(!(c=mu->conf)->inited ) +  if(!(c=mu->conf)->inited ) { +  handle (lambda () {    c->enable_all_modules(); -  +  call_out (requesthandler, 0, q, this, c); +  }); +  return; +  }    } else    c = mu->conf;    }    requesthandler( q, this_object(), c );    }    }       local function sp_fcfu;      
Roxen.git/server/base_server/roxen.pike:5047:    p->output(to);    if(to2) p->output(to2);    p->input(from);    return p;   #if efun(spider.shuffle)    }   #endif   }      // Dump all threads to the debug log. - void describe_all_threads (void|object threads_disabled) + void describe_all_threads (void|int ignored, // Might be the signal number. +  void|object threads_disabled)   {    if (!threads_disabled)    // Disable all threads to avoid potential locking problems while we    // have the backtraces. It also gives an atomic view of the state.    threads_disabled = _disable_threads();       report_debug("###### Describing all Pike threads:\n>>\n");       array(Thread.Thread) threads = all_threads();