Re: Imports with hooks not thread safe?

"Gordon McMillan" <[email protected]>
Newsgroups gmane.comp.python.import
Message-ID <3D314B42.16550.EE7FF7B@localhost>
On 13 Jul 2002 at 20:55, Anthony Tuininga wrote:

> Thanks. But wouldn't it make more sense to acquire the
> lock around __any__ import, regardless of whether it
> was hooked or not? 

You can't. Hooks typically *replace*
builtin.__import__. Imports from Python code
(where import has been hooked) don't necessarily touch
anything in the builtin Python import machinery.

[...]

> I agree that the exposing of the import lock would
> also solve the problem but that would mean that all
> the import hooks would have to do this in order to
> be thread safe. 

Correct. Writing a good import hook isn't easy.
Most import hooks are specializations or extensions
of behavior in some little area, so can get away with
it.

> Or could it be placed in the core
> imputils.py in the base class? Comments? 

iu is a replacement for imputils. imputils has a
number of flaws - no import lock; it does not
put None in sys.modules when the "is this a
relative import?" test fails. Can't recall what else,
but that's why I wrote iu.

-- Gordon
http://www.mcmillan-inc.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.