summaryrefslogtreecommitdiff
path: root/libguile/scmsigs.c
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/scmsigs.c
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/scmsigs.c')
-rw-r--r--libguile/scmsigs.c6
1 files changed, 3 insertions, 3 deletions
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;