Roxen.git / server / base_server / configuration.pike

version» Context lines:

Roxen.git/server/base_server/configuration.pike:1:   // A vitual server's main configuration   // Copyright © 1996 - 2000, Roxen IS. - constant cvs_version = "$Id: configuration.pike,v 1.418 2001/02/27 02:54:18 per Exp $"; + constant cvs_version = "$Id: configuration.pike,v 1.419 2001/03/05 04:43:10 per Exp $";   #include <module.h>   #include <module_constants.h>   #include <roxen.h>   #include <request_trace.h>   #include <timers.h>      #define CATCH(P,X) do{mixed e;if(e=catch{X;})report_error("While "+P+"\n"+describe_backtrace(e));}while(0)      // --- Locale defines ---   //<locale-token project="roxen_start"> LOC_S </locale-token>
Roxen.git/server/base_server/configuration.pike:210:   }      private int num_modules = 0;   #ifdef THREADS   private Thread.Condition modules_stopped = Thread.Condition();   #endif   private void safe_stop_module (RoxenModule mod, string desc)   {    if (mixed err = catch (mod && mod->stop && mod->stop()))    report_error ("While stopping " + desc + ": " + describe_backtrace (err)); -  if (!--num_modules) modules_stopped->signal(); +  if (!--num_modules) + #ifdef THREADS +  modules_stopped->signal() + #endif +  ;   }      void stop (void|int asynch)   //! Unregisters the urls and calls stop in all modules. Uses the   //! handler threads to lessen the impact if a module hangs. Doesn't   //! wait for all modules to finish if @[asynch] is nonzero.   {    unregister_urls();       multiset allmods = mkmultiset (indices (otomod));