summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-system/msg_daemon.py
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/LinHES-system/msg_daemon.py')
-rwxr-xr-xabs/core/LinHES-system/msg_daemon.py39
1 files changed, 24 insertions, 15 deletions
diff --git a/abs/core/LinHES-system/msg_daemon.py b/abs/core/LinHES-system/msg_daemon.py
index b766aae..0e54824 100755
--- a/abs/core/LinHES-system/msg_daemon.py
+++ b/abs/core/LinHES-system/msg_daemon.py
@@ -224,12 +224,8 @@ class Msg_Queue():
def search(self,key,value):
pass
- def print_queue(self):
- print "############################"
- for i in self.msglist:
- for key, value in i.iteritems():
- print key,":", value
- print "-----"
+ def get_queue(self):
+ return self.msglist
def get_last_msg_slot(self):
return self.msg_slot
@@ -289,7 +285,7 @@ class msg_queue_runner(threading.Thread):
self.p.start()
self.p.join()
elif style == "default":
- display_time = int(msgdict['timeout'])
+ #display_time = int(msgdict['timeout'])
self.out_xosd.display(msgtext,display_time)
except:
@@ -310,40 +306,53 @@ if __name__ == "__main__":
# Create a UDS socket
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
# Bind the socket to the port
- print >>sys.stderr, 'starting up on %s' % server_address
+ #print >>sys.stderr, 'starting up on %s' % server_address
sock.bind(server_address)
#change permissions of socket
os.chmod(server_address,0777)
# Listen for incoming connections
- sock.listen(1)
+ sock.listen(2)
#start msg display thread
msgthread = msg_queue_runner(msg_queue)
msgthread.setDaemon(True)
msgthread.start()
-
#main loop that reads in the cmddict, never exits
while True:
# Wait for a connection
connection, client_address = sock.accept()
try:
- sf = connection.makefile("r+b", bufsize=0)
- data = sf.read()
+ #sf = connection.makefile("r+b", bufsize=0)
+ data = connection.recv(1024)
cmddict = (pickle.loads(data))
-
+ connection.send(" Server acknowledged client \n")
if cmddict['cmd'] == "msg":
#add to msg_queue
msg_queue.add_msg(cmddict)
+
elif cmddict['cmd'] == 'clear':
if cmddict['tag'] == '' or cmddict['tag'] == None :
msg_queue.clear()
else:
msg_queue.clear_msg(cmddict['tag'])
+
elif cmddict['cmd'] == 'kill':
msgthread.kill_current()
- ## call(["/usr/LH/bin/lh_message.sh", msg])
- #break
+
+ elif cmddict['cmd'] == 'list':
+ q = msg_queue.get_queue()
+ for i in q:
+ line="-------------\n"
+ connection.send(line)
+ for k,v in i.iteritems():
+ line=" %s : %s\n" %(k,v)
+ connection.send(line)
+ line = "Number of messages in queue: %s \n" %(len(q))
+ connection.send(line)
+ #connection.send(pickle.dumps(q))
+
+
finally:
# Clean up the connection
connection.close()