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'.