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: Ludovic Courtès
Subject: Re: array handles and non-local exits
Date: Thu, 09 Jul 2009 23:08:18 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Hello,

Andy Wingo <address@hidden> writes:

> On Mon 06 Jul 2009 21:30, address@hidden (Ludovic Courtès) writes:

[...]

>> Yes.  OTOH, the doc doesn't say that concurrent array accesses are safe,
>> so array accesses are supposed to be synchronized at the application
>> level, using mutexes, I suppose.
>
> They should be safe in the sense that they shouldn't crash Guile, but
> the result may be strange -- e.g. hashtable insertion.

Yes, of course.

>> Still, I don't feel like we have any compelling reason to remove
>> `scm_array_handle_release ()'.  One argument to keep it is that it's the
>> kind of thing that's much easier to remove than to reinstate, and "we
>> never know".  Also, removing it would cause gratuitous
>> incompatibility.
>
> To me this is a weak argument, especially given that much code probably
> doesn't do the right thing in the presence of nonlocal exits.

To me, *this* is a weak argument.  ;-)

> Regarding compatibility, we could #define it to nothing if we compile
> without DISABLE_DEPRECATED.

Or we can always #define it to nothing.  From an API design viewpoint, I
find it consistent to have `release ()'.  If you're concerned about the
function call overhead, then turning it into a macro will address that
concern.  :-)

Thanks,
Ludo'.





reply via email to

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