summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/monitor/mon-queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/monitor/mon-queue.c')
-rw-r--r--cpukit/libmisc/monitor/mon-queue.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/cpukit/libmisc/monitor/mon-queue.c b/cpukit/libmisc/monitor/mon-queue.c
index 9430797c6c..aadfcd3989 100644
--- a/cpukit/libmisc/monitor/mon-queue.c
+++ b/cpukit/libmisc/monitor/mon-queue.c
@@ -16,7 +16,21 @@ rtems_monitor_queue_canonical(
{
const Message_queue_Control *rtems_queue = (const Message_queue_Control *) queue_void;
- canonical_queue->attributes = rtems_queue->attribute_set;
+ canonical_queue->attributes = 0;
+
+ if (
+ rtems_queue->message_queue.operations
+ == &_Thread_queue_Operations_priority
+ ) {
+ canonical_queue->attributes |= RTEMS_PRIORITY;
+ }
+
+#if defined(RTEMS_MULTIPROCESSING)
+ if ( rtems_queue->is_global ) {
+ canonical_queue->attributes |= RTEMS_GLOBAL;
+ }
+#endif
+
canonical_queue->maximum_message_size = rtems_queue->message_queue.maximum_message_size;
canonical_queue->maximum_pending_messages = rtems_queue->message_queue.maximum_pending_messages;
canonical_queue->number_of_pending_messages = rtems_queue->message_queue.number_of_pending_messages;