summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorGary Houston <ghouston@arglist.com>1997-06-14 19:04:24 +0000
committerGary Houston <ghouston@arglist.com>1997-06-14 19:04:24 +0000
commitcc0b33128194d56e08b3deabe3916b8753a30f9f (patch)
treee529ff1cddb17ca964c513f4c0d311605e1e302e /libguile
parente320da2fb9549f8ce8a083a00878c649f958b5d0 (diff)
downloadguile-cc0b33128194d56e08b3deabe3916b8753a30f9f.tar.gz
* scmsigs.c (sys_deliver_signals): add a comment about a probable bug.
Diffstat (limited to 'libguile')
-rw-r--r--libguile/ChangeLog4
-rw-r--r--libguile/scmsigs.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index 9071517f3..627f1e4c9 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,3 +1,7 @@
+Sat Jun 14 19:00:58 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * scmsigs.c (sys_deliver_signals): add a comment about a probable bug.
+
Wed Jun 11 00:33:00 1997 Jim Blandy <jimb@floss.red-bean.com>
* Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index 2a53c3e44..57456e0fd 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -140,6 +140,12 @@ sys_deliver_signals (void)
{
if (got_signal[i])
{
+ /* The flag is reset before calling the handler in case the
+ handler doesn't return. If the handler doesn't return
+ but leaves other signals flagged, they their handlers
+ will be applied some time later when the async is checked
+ again. It would probably be better to reset the flags
+ after doing a longjmp. */
got_signal[i] = 0;
#ifndef HAVE_SIGACTION
signal (i, take_signal);