[Python-Dev] Can someone look at dummy_thread (#622537)?
Brett Cannon
bac@OCF.Berkeley.EDU
Tue, 3 Dec 2002 11:36:44 -0800 (PST)
[Fredrik Lundh]
> Brett Cannon wrote:
> >
> > > > > > try:
> > > > > > import threading
> > > > > > except ImportError:
> > > > > > threading = None # use non-threaded behaviour
>
> > But if it does it will be on platforms it couldn't run on previously.
>
> Sigh. Let's try one more time:
>
> Under 2.2 and earlier, on a platform that doesn't support threads,
> the above code will set threading to None, and the application can
> then use "if threading is None" to provide application-specific work-
> arounds.
>
I get this and always have. I just have not thought of it as huge of an
issue as you do. If it is that big of a worry, add a ``import thread;
del thread`` statement to make sure ``thread`` is there and warn users
not to use the code.
But I know you are going to be against the idea of modifying existing code
for this, so I am going to let it go. Your point is valid, we just differ
on its importance.
Is Guido's suggested ``dummy_threading`` okay with you?
> (catching import errors is a very common pattern when you're writing
> portable Python code).
>
I know, I use it myself.
> If you change Python so that "import threading" succeeds also on plat-
> forms that don't support threads, the application-specific workarounds
> will no longer be used, and the application may no longer work properly.
>
> And since we're talking deadlocks, chances are that nobody will notice
> before it's too late.
>
OK, I am going to concede on this and stop pushing for it. Let me know
what you think of Guido's ``dummy_threading`` idea.
I assume you don't object to changing ``Queue``, though, right?
-Brett