1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 13:20:26 +02:00

* async.c (scm_take_signal): Doc fixes.

This commit is contained in:
Jim Blandy 1996-10-10 00:52:21 +00:00
parent 91088deffc
commit e4d24f3af1

View file

@ -660,10 +660,18 @@ scm_take_signal (n)
SCM ignored; SCM ignored;
if (!scm_ints_disabled) if (!scm_ints_disabled)
{ {
SCM_NEWCELL (ignored); /* In case we interrupted SCM_NEWCELL, /* For reasons of speed, the SCM_NEWCELL macro doesn't defer
* throw out the possibly already allocated interrupts. Instead, it first sets its argument to point to
* free cell. the first cell in the list, and then advances the freelist
*/ pointer to the next cell. Now, if this procedure is
interrupted, the only anomalous state possible is to have
both SCM_NEWCELL's argument and scm_freelist pointing to the
same cell. To deal with this case, we always throw away the
first cell in scm_freelist here.
At least, that's the theory. I'm not convinced that that's
the only anomalous path we need to worry about. */
SCM_NEWCELL (ignored);
} }
scm_system_async_mark (system_signal_asyncs[SCM_SIG_ORD(n)]); scm_system_async_mark (system_signal_asyncs[SCM_SIG_ORD(n)]);
return SCM_BOOL_F; return SCM_BOOL_F;