[rtems-tools commit] Add message_queue subcommand.

Chris Johns chrisj at rtems.org
Sun Aug 24 23:45:34 UTC 2014


Module:    rtems-tools
Branch:    master
Commit:    2c25dc56edf95d1d60c48070431e68a31f9865f1
Changeset: http://git.rtems.org/rtems-tools/commit/?id=2c25dc56edf95d1d60c48070431e68a31f9865f1

Author:    Dhananjay Balan <mb.dhananjay at gmail.com>
Date:      Thu Aug 15 20:44:30 2013 +0530

Add message_queue subcommand.

---

 tools/gdb/python/rtems.py |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/tools/gdb/python/rtems.py b/tools/gdb/python/rtems.py
index dbfd7c7..9ae2105 100644
--- a/tools/gdb/python/rtems.py
+++ b/tools/gdb/python/rtems.py
@@ -172,6 +172,38 @@ class rtems_task(gdb.Command):
             instance.show(from_tty)
         objects.information.invalidate()
 
+class rtems_message_queue(gdb.Command):
+    '''Message Queue subcommand'''
+
+    api = 'classic'
+    _class = 'message_queues'
+
+    def __init__(self):
+        self.__doc__ = 'Display the RTEMS message_queue by index(s)'
+        super(rtems_message_queue,self).__init__('rtems mqueue', gdb.COMMAND_STATUS)
+
+    def invoke(self, arg, from_tty):
+        for val in arg.split():
+            try:
+                index = int(val)
+            except ValueError:
+                print "error: %s is not an index" % (val)
+                return
+
+            try:
+                obj = objects.information.object_return(self.api,
+                                                        self._class,
+                                                        index).dereference()
+            except IndexError:
+                print "error: index %s is invalid" % (index)
+                return
+
+            print "Ahi"
+            instance = classic.message_queue(obj)
+            instance.show(from_tty)
+        objects.information.invalidate()
+
+
 #
 # Main
 #
@@ -182,4 +214,5 @@ gdb.pretty_printers.append (lookup_function)
 rtems()
 rtems_object()
 rtems_semaphore()
-rtems_task()
\ No newline at end of file
+rtems_task()
+rtems_message_queue()
\ No newline at end of file



More information about the vc mailing list