threading+ftp+import => block
Damjan
gdamjan at gmail.com
Tue Jul 25 20:09:08 EDT 2006
Panard wrote:
> Hi,
> I'm experiencing a strange problem while trying to manage a ftp connection
> into a separate thread.
>
> I'm on linux, python 2.4.3
>
> Here is a test :
> ------ ftp_thread.py ------
> import ftplib
> import threading
> import datetime
>
> class test( threading.Thread ) :
> ftp_conn = ftplib.FTP("localhost","user","pass")
> def run( self ) :
> print self.ftp_conn.pwd()
> self.ftp_conn.dir("/")
> print datetime.date.today()
> def t() :
> t = test()
> t.start()
> t.join()
> t()
> -------
>
> If I do :
> $ python ftp_thread.py
> /
> drwxrwsr-x 2 panard ftp 4096 Jul 24 12:48 archives
> 2006-07-24
> ==> Works perfectly
>
> But :
> $ python
>>>> import ftp_thread
> /
> <program block>
This has been documented in the blog posts titled "How well you know Python"
(find it on google)
The problem is that, once you run "import ftp_thread" a lock is set in the
Python interpreter, so then you can't start a new thread... (this from the
back of my mind).
--
damjan
More information about the Python-list
mailing list