From 7d8f3895e29f9659d2974dfa285bb594aeef1fa0 Mon Sep 17 00:00:00 2001 From: Tat-Chee Wan (USM) Date: Mon, 11 Jul 2011 07:58:58 +0800 Subject: handle proper brick socket open and close sequence Allow for multiple GDB sessions from gdb client by opening the brick socket after client connection, and closing the brick socket after client disconnection. --- Host/nxt-gdb-server.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'Host') diff --git a/Host/nxt-gdb-server.py b/Host/nxt-gdb-server.py index 9ef8ff1..c1cf083 100755 --- a/Host/nxt-gdb-server.py +++ b/Host/nxt-gdb-server.py @@ -156,14 +156,17 @@ class NXTGDBServer: s.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind (('', self.port)) s.listen (1) - # Open connection to the NXT brick. - brick = nxt.locator.find_one_brick (method=nxt.Method(usb=False, bluetooth=False, fantomusb=True, fantombt=False)) - brick.sock.debug = DEBUG + ## Open connection to the NXT brick. + #brick = nxt.locator.find_one_brick () + #brick.sock.debug = DEBUG print "Waiting for GDB connection on port %s..." % self.port while True: # Wait for a connection. client, addr = s.accept () print "Client from", addr + # Open connection to the NXT brick. + brick = nxt.locator.find_one_brick () + brick.sock.debug = DEBUG # Work loop, wait for a message from client socket or NXT brick. while client is not None: data = '' @@ -212,6 +215,7 @@ class NXTGDBServer: if client: client.send (data) data = '' + brick.sock.close() print "Connection closed, waiting for GDB connection on port %s..." % self.port if __name__ == '__main__': -- cgit v1.2.3