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/