Great that worked. Thanks!!
On 11/22/2010 05:24 PM, Murphy McCauley wrote:
The problem is that NOX doesn't handle multiple threads in Python. The
solution is to just scrap the thread. NOX already has a reactor running, so
just set up your protocol and you should be good to go -- all you need is the
following in the install() method:
factory = Factory()
factory.protocol = QOTD
reactor.listenTCP(8007, factory)
-- Murphy
On Nov 21, 2010, at 11:57 PM, Derek Cormier wrote:
Hello,
I am trying to run a thread inside of a python NOX component using twisted that
listens for TCP connections. I added code to pyswitch.py to see if I could get
it working. However, I am getting this seg fault from NOX. It seems to be
failing at 'reactor.listenTCP(8007, factory)'. Any ideas on what the problem
might be?
Added code:
class ServerThread(Thread):
def run(self):
print "Thread started"
factory = Factory()
factory.protocol = QOTD
reactor.listenTCP(8007, factory)
reactor.run()
class QOTD(LineReceiver):
def connectionMade(self):
self.transport.write("Vene, vidi, vici\n")
self.transport.loseConnection()
I added the following two lines at the end of pyswitch's install method:
self.serverThread = ServerThread()
self.serverThread.start()
NOX Output:
NOX 0.9.1~full~beta (nox_core), compiled Nov 11 2010 10:38:11
Compiled with OpenFlow 0x01
Thread started
Caught signal 11.
0x7f47a8541262 64 (vigil::fault_handler(int)+0x42)
0x7f47a79d5af0
0x7f47a85a206b 64 (vigil::co_fsm_run(vigil::co_thread*)+0x4b)
0x7f47a4cddc83
0x7f47a4ce193c
0x7f47a4ce1f1a
0x7f47a6610313 18446604128078702928 (PyEval_EvalFrameEx+0x5483)
0x7f47a6969440 18446744073666775329 (PyFrame_Type+0x0)
Segmentation fault
Thanks,
-Derek
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org