summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorGary Houston <ghouston@arglist.com>1997-06-01 08:08:49 +0000
committerGary Houston <ghouston@arglist.com>1997-06-01 08:08:49 +0000
commit2ad6b1a531a39fb95500d148e5025f45bca1e20d (patch)
treed33acdaca82eb872c31c8beb3b67bb23ee3df9c1 /libguile
parent115b09a50439e841041555bf1f4d6837108f8a6f (diff)
downloadguile-2ad6b1a531a39fb95500d148e5025f45bca1e20d.tar.gz
* scmsigs.c (sys_deliver_signals): bug fix: reset got_signal[i]
before applying the handler in case it doesn't return.
Diffstat (limited to 'libguile')
-rw-r--r--libguile/ChangeLog5
-rw-r--r--libguile/scmsigs.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index 8bcfb3fcb..55869b161 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,3 +1,8 @@
+Sun Jun 1 07:58:41 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * scmsigs.c (sys_deliver_signals): bug fix: reset got_signal[i]
+ before applying the handler in case it doesn't return.
+
Sat May 31 18:57:51 1997 Gary Houston <ghouston@actrix.gen.nz>
* scmsigs.h, async.h: updated.
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index fe11eb651..2a53c3e44 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -140,13 +140,13 @@ sys_deliver_signals (void)
{
if (got_signal[i])
{
- scm_apply (SCM_VELTS (*signal_handlers)[i],
- scm_listify (SCM_MAKINUM (i), SCM_UNDEFINED),
- SCM_EOL);
got_signal[i] = 0;
#ifndef HAVE_SIGACTION
signal (i, take_signal);
#endif
+ scm_apply (SCM_VELTS (*signal_handlers)[i],
+ scm_listify (SCM_MAKINUM (i), SCM_UNDEFINED),
+ SCM_EOL);
}
}
return SCM_UNSPECIFIED;