guile-devel
[Top][All Lists]
Advanced

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

Re: array handles and non-local exits


From: Neil Jerram
Subject: Re: array handles and non-local exits
Date: Thu, 18 Sep 2008 10:17:45 +0100

2008/9/18 Ludovic Courtès <address@hidden>:
>
> I submitted this bug:
>
>  https://savannah.gnu.org/bugs/index.php?24292

That's great, thanks.

> I would suggest that we drop that mention of dynwinds from the manual.

In my view, this part is still useful:

"You must take care to always unreserve an array after reserving it,
also in the presence of non-local exits. To simplify this, reserving
and unreserving work like a dynwind context (see Dynamic Wind): a call
to scm_array_get_handle can be thought of as beginning a dynwind
context and scm_array_handle_release as ending it. When a non-local
exit happens between these two calls, the array is implicitely
unreserved.

That is, you need to properly pair reserving and unreserving in your
code, but you don't need to worry about non-local exits."

But this part is misleading and can be removed:

"These calls and other pairs of calls that establish dynwind contexts
need to be properly nested. If you begin a context prior to reserving
an array, you need to unreserve the array before ending the context.
Likewise, when reserving two or more arrays in a certain order, you
need to unreserve them in the opposite order."

Is that what you had in mind?

      Neil




reply via email to

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