2008-09-29
2008-09-29 16:10:56 by Martin Stjernholm <mast@lysator.liu.se>
-
5b5c80c96b6ece1f215cf139a10fd842c07562db
(17 lines)
(+12/-5)
[
Show
| Annotate
]
Branch: 5.2
Don't use the backend thread to enable all modules when a
configuration is loaded on demand.
Also fixed describe_all_threads to cope with the calls from the signal
handler.
Rev: server/base_server/roxen.pike:1.992
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.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
//!
731: Inside #if defined(THREADS) and #if undefined(NO_SLOW_REQ_BT)
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.
1725:
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;
}
5054:
}
// 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