Re: [nox-dev] TCP Server in NOX Component
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
Re: [nox-dev] TCP Server in NOX Component
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
[nox-dev] TCP Server in NOX Component
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