guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issues holding up 1.6.0 release.


From: Gary Houston
Subject: Re: Issues holding up 1.6.0 release.
Date: 20 Sep 2001 19:35:59 -0000

> From: Marius Vollmer <address@hidden>
> Date: 20 Sep 2001 02:12:54 +0200
> 
> Do you really want to increase the seqno on every `before' event?  I'd
> say (without really looking) it should be enough to just swap in the
> new seqno.  Like
> 
> struct seqnos {
>   unsigned long old;
>   unsigned long new;
> };
> 
> static void
> before (void *s)
> {
>   SCM_SEQ (scm_rootcont) = ((struct seqnos *)s)->new;
> }

I don't think it's a problem, since the contination-blocking property
prevents reentry of 'before'.  The dynamic-wind is only there for
exceptions raised in the body.

> For extra points, we might also want to check "++n_dynamic_roots" for
> overflow.  When that happens, we might scan the heap for live
> continuations and try to carve out a nice linear chunk of unused
> numbers to reuse.

Easier would be to make the sequence number an SCM, so it can become a
bignum if needed.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]