diff --git a/bin/netsvc.py b/bin/netsvc.py index ed41a2de1d1..bd946e0fc39 100644 --- a/bin/netsvc.py +++ b/bin/netsvc.py @@ -282,11 +282,14 @@ class TinySocketClientThread(threading.Thread): def run(self): import traceback + import time try: self.running = True ts = tiny_socket.mysocket(self.sock) while self.running: + c = time.time() msg = ts.myreceive() + print time.time() - c try: s=LocalService(msg[0]) @@ -311,15 +314,21 @@ class TinySocketClientThread(threading.Thread): ts.mysend(s, exception=True) ts.mysend(result) except Exception, e: + print "exception", e + self.sock.close() return False def stop(self): self.running = False self.sock.shutdown(socket.SHUT_RDWR) class TinySocketServerThread(threading.Thread): - def __init__(self, socket): + def __init__(self, interface, port, secure=False): threading.Thread.__init__(self) - self.socket = socket + self.__port=port + self.__interface=interface + self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.socket.bind((self.__interface, self.__port)) + self.socket.listen(5) self.threads = [] def run(self): @@ -333,32 +342,17 @@ class TinySocketServerThread(threading.Thread): ct = TinySocketClientThread(clientsocket) ct.start() self.threads.append(ct) +# print "threads size:", len(self.threads) except Exception, e: return False def stop(self): self.running=False for t in self.threads: - t.stop() + if t: + t.stop() self.socket.shutdown(socket.SHUT_RDWR) -class TinySocketDaemon(object): - def __init__(self, interface, port, secure=False): - self.__port=port - self.__interface=interface - self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.socket.bind((self.__interface, self.__port)) - self.socket.listen(10) - def attach(self,path,gw): - pass - - def stop(self): - self.st.stop() - - def start(self): - self.st = TinySocketServerThread(self.socket) - self.st.start() - # vim:noexpandtab: diff --git a/bin/tiny_socket.py b/bin/tiny_socket.py index 68a81985666..e7a9624c7fd 100644 --- a/bin/tiny_socket.py +++ b/bin/tiny_socket.py @@ -9,7 +9,7 @@ class mysocket: socket.AF_INET, socket.SOCK_STREAM) else: self.sock = sock - self.sock.settimeout(50) + self.sock.settimeout(60) def connect(self, host, port): self.sock.connect((host, port)) def mysend(self, msg, exception=False): diff --git a/bin/tinyerp-server.py b/bin/tinyerp-server.py index 87cf699d388..70518098b5d 100755 --- a/bin/tinyerp-server.py +++ b/bin/tinyerp-server.py @@ -227,7 +227,7 @@ else: logger.notifyChannel("web-services", netsvc.LOG_INFO, "You are using the SSL Layer") -tinySocket = netsvc.TinySocketDaemon(interface, 8085, False) +tinySocket = netsvc.TinySocketServerThread(interface, 8085, False) logger.notifyChannel("web-services", netsvc.LOG_INFO, "starting TinySocket service, port "+str(8085)) def handler(signum, frame):