close session
This commit is contained in:
parent
70a197afec
commit
31e0db41b8
|
@ -673,6 +673,12 @@ def tcp_server_thread():
|
||||||
traceback.print_exc(file=sys.stdout)
|
traceback.print_exc(file=sys.stdout)
|
||||||
|
|
||||||
|
|
||||||
|
def close_sesion(session_id):
|
||||||
|
print "lost connection", session_id
|
||||||
|
sessions.pop(session_id)
|
||||||
|
sessions_sub_numblocks.remove(session_id)
|
||||||
|
|
||||||
|
|
||||||
# one thread per client. put requests in a queue.
|
# one thread per client. put requests in a queue.
|
||||||
def tcp_client_thread(ipaddr,conn):
|
def tcp_client_thread(ipaddr,conn):
|
||||||
""" use a persistent connection. put commands in a queue."""
|
""" use a persistent connection. put commands in a queue."""
|
||||||
|
@ -689,9 +695,7 @@ def tcp_client_thread(ipaddr,conn):
|
||||||
d = conn.recv(1024)
|
d = conn.recv(1024)
|
||||||
msg += d
|
msg += d
|
||||||
if not d:
|
if not d:
|
||||||
print "lost connection", session_id
|
close_sesion(session_id)
|
||||||
sessions.pop(session_id)
|
|
||||||
sessions_sub_numblocks.remove(session_id)
|
|
||||||
break
|
break
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
@ -744,8 +748,12 @@ def process_output_queue():
|
||||||
session_id, out = output_queue.get()
|
session_id, out = output_queue.get()
|
||||||
session = sessions.get(session_id)
|
session = sessions.get(session_id)
|
||||||
if session:
|
if session:
|
||||||
|
try:
|
||||||
conn = session.get('conn')
|
conn = session.get('conn')
|
||||||
conn.send(out+'\n')
|
conn.send(out+'\n')
|
||||||
|
except:
|
||||||
|
close_session(session_id)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue