[Twisted-Python] Re: reactor.stop
Eugene Coetzee
projects at reedflute.com
Mon Aug 16 09:58:05 MDT 2004
Christopher Armstrong wrote:
>On Mon, 16 Aug 2004 11:39:11 +0800, Tsai Li Ming <mailinglist at ltsai.com> wrote:
>
>
>>The part that I don't understand is when I import the reactor in my own
>>py files, why will it be the same single reactor that the application
>>uses. Is it something special that twisted is handling or is just a
>>simple python question?
>>
>>
>
>Well, the reactor module is pretty weird and magical, but in this
>regard, it acts exactly like any python module. When you import any
>module twice, you get the same module.
>
>
>
In fact - reactor is not an package - but a global instance returned by
class SelectReactor.
from twisted.internet.default.py
def install():
"""Configure the twisted mainloop to be run using the select() reactor.
"""
reactor = SelectReactor()
main.installReactor(reactor)
When the reactor is installed the following code in
twisted.internet.main.py checks for existing instances of 'reactor'.
def installReactor(reactor):
global addReader, addWriter, removeReader, removeWriter
global iterate, addTimeout, wakeUp
# this stuff should be common to all reactors.
import twisted.internet
import sys
assert not sys.modules.has_key('twisted.internet.reactor'), \
"reactor already installed"
twisted.internet.reactor = reactor
sys.modules['twisted.internet.reactor'] = reactor
regards,
Eugene
===============================================
Web -> www.reedflute.com
===============================================
More information about the Twisted-Python
mailing list