Hello,

Andy Wingo <wi...@pobox.com> writes:

> On Mon 06 Jul 2009 21:30, l...@gnu.org (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