aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-06-13 12:57:05 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-06-13 12:57:05 +0300
commitf6e7047f4ffa82b22425c57b23005c5af9dd5b4f (patch)
tree29650e2d63fd0b0928754964065fb7b7c185c002
parent9f46ca3e0f3062dd6e9848f6bfd97926144ccbd7 (diff)
downloadgamma-f6e7047f4ffa82b22425c57b23005c5af9dd5b4f.tar.gz
gamma-f6e7047f4ffa82b22425c57b23005c5af9dd5b4f.tar.bz2
Exit on uncaught exceptions.
* src/eval.c: Exit with status 70 (EX_SOFTWARE) if an uncaught exception is delivered.
-rw-r--r--examples/whoisd.scm4
m---------gint0
-rw-r--r--src/eval.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/examples/whoisd.scm b/examples/whoisd.scm
index 8b100a7..305dcba 100644
--- a/examples/whoisd.scm
+++ b/examples/whoisd.scm
@@ -412,13 +412,13 @@ WHERE domain=\"" key "\""))))
(foreground (single-char #\f)
(value #f))
(debug (single-char #\x)
(value #t))
(tag (single-char #\L)
(value #t))
- (facility (single-char #\f)
+ (facility (single-char #\F)
(value #t))
(inetd (single-char #\i)
(value #f))
(daemon (single-char #\d)
(value #t))
(ip-address (single-char #\a)
@@ -482,13 +482,13 @@ The following options may be used in daemon mode only:\n\
(set! whoisd-user (cdr x)))
((timeout)
(set! whoisd-idle-timeout (string->number (cdr x))))
((inetd)
(set! whois-standalone (not (cdr x))))
((facility)
- (set! log-facility (string-eval (cdr x))))
+ (set! log-facility (eval-string (cdr x))))
((tag)
(set! log-tag (cdr x)))
(else
(cond
((not (null? (cdr x)))
(with-output-to-port
diff --git a/gint b/gint
-Subproject a5774356a1c12d1bcb55b6322710e347e1604fc
+Subproject 4254b0590e609b82dac3d688ecb401c9eefb7e2
diff --git a/src/eval.c b/src/eval.c
index 407b164..cc3da50 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -50,13 +50,13 @@ int
gamma_safe_exec(SCM (*handler) (void *data), void *data, SCM *result)
{
jmp_buf jmp_env;
struct scheme_exec_data ed;
if (setjmp(jmp_env))
- return 1;
+ exit(70); /* EX_SOFTWARE */
ed.handler = handler;
ed.data = data;
scm_internal_lazy_catch(SCM_BOOL_T,
scheme_safe_exec_body, (void*)&ed,
eval_catch_handler, &jmp_env);
if (result)

Return to:

Send suggestions and report system problems to the System administrator.