diff options
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/ChangeLog | 5 | ||||
-rw-r--r-- | libguile/scmsigs.c | 6 |
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; |