In addition to the "global" variable bug in the other issue I've created, we found that the "exitProg" function doesn't actually get called in the psiClient because it is looking for "PROG:EXIT" instead of just ":EXIT". Here is the git diff that fixes both of these changes:
diff --git a/psiClient/psi46master.py b/psiClient/psi46master.py
index f659b2e..60f58db 100755
--- a/psiClient/psi46master.py
+++ b/psiClient/psi46master.py
@@ -170,6 +170,7 @@ def exitProg():
Logger << 'exit'
#
if not reduce(lambda x,y: x or y, [TB.busy for TB in TBmasters]):
global End
End = True
else:
for TB in TBmasters:
@@ -210,12 +211,19 @@ def analysePacket(packet):
if coms[0].startswith('prog') and coms[1].startswith('tb'):
analyseProg_TB(coms,msg,typ,TBno)
return
elif coms[0].startswith('prog') and coms[1].startswith('exit'):
elif coms[0].startswith('exit'):
exitProg()
return
elif coms[0].startswith('stat') and coms[1].startswith('tb') and typ == 'q':
sendStatsTB(TBno)
return
In addition to the "global" variable bug in the other issue I've created, we found that the "exitProg" function doesn't actually get called in the psiClient because it is looking for "PROG:EXIT" instead of just ":EXIT". Here is the git diff that fixes both of these changes:
diff --git a/psiClient/psi46master.py b/psiClient/psi46master.py index f659b2e..60f58db 100755 --- a/psiClient/psi46master.py +++ b/psiClient/psi46master.py @@ -170,6 +170,7 @@ def exitProg(): Logger << 'exit' # if not reduce(lambda x,y: x or y, [TB.busy for TB in TBmasters]):