[Dev] Eric3 Python IDE
Grant Baillie
grant at osafoundation.org
Fri Sep 2 10:06:42 PDT 2005
On Sep 2, 2005, at 8:41 , Andi Vajda wrote:
>> This reminded me to look at multithreaded debugging in Komodo (I'm
>> running the Mac OS alpha). It turns out that setting breakpoints
>> in an ordinary python thread works just fine. However, if you use
>> a PyLucene thread (as Chandler does), breakpoints do not work.
>> Anyone have an idea as to why?
>>
>
> The PyLucene.PythonThread class is a subclass of threading.Thread
> that delegates to libgcj the creation and starting of the OS
> thread. This is because libgcj's garbage collector does not support
> adding threads to the java environment after they have been created
> and started, the java.lang.Thread class must be used instead.
> There are then in fact two thread objects, one python, one java
> that correspond to one OS thread. I don't know what assumptions the
> debuggers are making about python threads but a
> PyLucene.PythonThread instance looks the same to python's threading
> module and python treats it as one of its own.
Ah, thanks for the explanation.
By the looks of things, Komodo installs its own stuff by patching
thread.start_new_thread, which won't work in this case. I might take
a whack at patching their patch ;).
--Grant
More information about the Dev
mailing list