Roxen.git/
server/
base_server/
roxen.pike
Branch:
Tag:
Non-build tags
All tags
No tags
1999-07-20
1999-07-20 20:42:55 by Henrik Grubbström (Grubba) <grubba@grubba.org>
b0659e36d4115f1263d5500f1b4f8469554ce562 (
18
lines) (+
12
/-
6
)
[
Show
|
Annotate
]
Branch:
5.2
ABS now dumps the backtrace of all threads when triggered.
Rev: server/base_server/roxen.pike:1.308
1:
/*
-
* $Id: roxen.pike,v 1.
307
1999/07/
19
18
:
43
:
26
grubba Exp $
+
* $Id: roxen.pike,v 1.
308
1999/07/
20
20
:
42
:
55
grubba Exp $
* * The Roxen Challenger main program. *
7:
*/ // ABS and suicide systems contributed freely by Francesco Chemolli
-
constant cvs_version="$Id: roxen.pike,v 1.
307
1999/07/
19
18
:
43
:
26
grubba Exp $";
+
constant cvs_version="$Id: roxen.pike,v 1.
308
1999/07/
20
20
:
42
:
55
grubba Exp $";
object backend_thread; object argcache;
1352:
call_out (restart_if_stuck,10); signal(signum("SIGALRM"), lambda( int n ) {
-
roxen_perror
(
master
(
)->describe_backtrace(
({
-
sprintf("****
%s:
ABS
engaged!
Trying to dump backlog: \n",
-
ctime(time()) - "\n")
,
-
backtrace
() }
)
)
);
+
werror
(
sprintf
(
"****
%s: ABS engaged!\n"
+
"
Trying to dump backlog: \n",
+
ctime(time()) - "\n")
);
+
catch
{
+
// Catch for paranoia reasons.
+
describe_all_threads
()
;
+
}
;
+
werror(sprintf("**** %s: ABS exiting roxen!\n\n",
+
ctime(time(
)
)))
;
_exit(1); // It might now quit correctly otherwise, if it's // locked up });