* scmsigs.c (sys_deliver_signals): bug fix: reset got_signal[i]
authorGary Houston <ghouston@arglist.com>
Sun, 1 Jun 1997 08:08:49 +0000 (08:08 +0000)
committerGary Houston <ghouston@arglist.com>
Sun, 1 Jun 1997 08:08:49 +0000 (08:08 +0000)
before applying the handler in case it doesn't return.

libguile/ChangeLog
libguile/scmsigs.c

index 8bcfb3f..55869b1 100644 (file)
@@ -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.
index fe11eb6..2a53c3e 100644 (file)
@@ -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;