summaryrefslogtreecommitdiff
path: root/libguile/scmsigs.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2002-10-10 18:11:06 +0000
committerMarius Vollmer <mvo@zagadka.de>2002-10-10 18:11:06 +0000
commite581432ec34259d07bdcdd0bde2d94a4e894ca81 (patch)
tree1602ba38a18fb9fc8ba7dbc3d922c9dc3d8edc9c /libguile/scmsigs.c
parentacfa1f528ec59324ef2079bce5774105ecfd84e7 (diff)
downloadguile-e581432ec34259d07bdcdd0bde2d94a4e894ca81.tar.gz
(scm_sigaction_for_thread): Store original handler in signal_handlers,
not the closure that is used as the async. The closure is stored in signal_handler_cells, as previously.
Diffstat (limited to 'libguile/scmsigs.c')
-rw-r--r--libguile/scmsigs.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index ec1926eba..766a7b25d 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -273,10 +273,9 @@ SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0,
if (orig_handlers[csig] == SIG_ERR)
save_handler = 1;
#endif
- handler = close_1 (handler, signum);
SCM_VECTOR_SET (*signal_handlers, csig, handler);
SCM_VECTOR_SET (signal_handler_cells, csig,
- scm_cons (handler, SCM_BOOL_F));
+ scm_cons (close_1 (handler, signum), SCM_BOOL_F));
SCM_VECTOR_SET (signal_handler_threads, csig, thread);
}