python-irclib and threading

Robin Krahl me at robin-krahl.de
Tue Oct 12 10:50:09 EDT 2010


Hi folks,

I’m writing a program with a component that has to connect to IRC and
call a callback function in case of a message.  I tried using
python-irclib for doing this, and executing the code in the main thread
worked fine.  When I moved the code part into the run method of a
threading.Thread class, it doesn’t work anymore.  The code is:

# …
    def run(self):
        # …
        self._lg.debug('AAA')
        irc = irclib.IRC()
        server = irc.server()
        server.connect('irc.freenode.net', 6667, 'rcc')
        self._lg.debug('BBB')
        irc.process_forever()
        self._lg.debug('CCC')
        # …
# …

(self._lg = logging.getLogger(…))

Now, the connect method does not return.  That means that ‘AAA’ is
logged while ‘BBB’ and ‘CCC’ are not displayed (yes, I waited long
enough).

My guess was that the problem is that I have to call the connect()
method from the main thread.  Is this right?  If yes, what can I do
about it?  If no, do you have an idea what’s the problem?

Best regards,
    Robin

-- 
Robin Krahl || ireas
  http://robin-krahl.de
  me at robin-krahl.de

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 286 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20101012/4c7ecad0/attachment.sig>


More information about the Python-list mailing list