summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-09-24 09:05:36 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-09-28 06:19:52 +0200
commit24ea1cebeb5e64ba2371c8e740ebe3c81d565ca2 (patch)
tree38ea2436105a3eb2a66d46a0190c3b3768e2b683 /cpukit/libmisc
parentscore: Add <rtems/score/coremsgbuffer.h> (diff)
downloadrtems-24ea1cebeb5e64ba2371c8e740ebe3c81d565ca2.tar.bz2
rtems: Remove Message_queue_Control::attribute_set
Add Message_queue_Control::is_global if RTEMS_MULTIPROCESSING is defined. This reduces the Message_queue_Control size in standard RTEMS configurations. Update #4007.
Diffstat (limited to 'cpukit/libmisc')
-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;