From: Sam Steingold <sds@gn...> - 2009-06-21 19:14:46
> * Vladimir Tzankov <igm@...> [2009-06-21 09:51:29 +0000]:
> RCS file: /cvsroot/clisp/clisp/doc/impext.xml,v
> retrieving revision 1.590
> retrieving revision 1.591
> diff -u -d -r1.590 -r1.591
> --- impext.xml 20 Jun 2009 14:28:24 -0000 1.590
> +++ impext.xml 21 Jun 2009 09:51:27 -0000 1.591
> @@ -4746,9 +4746,15 @@
> PACKAGE objects have internal mutex and are locked by INTERN before adding a
> symbol (if FIND-SYMBOL fails). All modifications of internal package data
> are guarded by this mutex.</para>
> - <para>
> - NB: currently there is one exception: &use-package; is not protected and
> - thus not thread safe.
> + <para>NB: currently there is one exception: &use-package; is not protected and
> + thus not thread safe.</para>
element <note> or <warning> should be used instead of "NB"
> + <para>NB: Symbol look-up within package currently is not guarded! This means
> + that in certain cases &find-symbol; may return &nil; even though the symbol
> + is accessible (this may happen when internal package hash tables are
> + re-hashed at the time &find-symbol; performs look-up).
> + TODO: Acquire lock(s) for every symbol look-up (may be very be expensive)?
> + Use rwlock? Better approach may be is to have lock free hash table
> + implementation?
the manual is not a good place for such a discussion.
please keep these ruminations in the mailing lists and multithread.txt.
Sam Steingold (http://sds.podval.org/) on Ubuntu 9.04 (jaunty)
The world is coming to an end. Please log off.