Update #2514. --- cpukit/Makefile.am | 26 +++++++------- cpukit/include/rtems/confdefs.h | 52 +++++++++++++-------------- cpukit/include/rtems/score/coremsg.h | 26 ++++++-------- cpukit/rtems/src/rtemsobjectgetapiclassname.c | 2 +- 4 files changed, 50 insertions(+), 56 deletions(-)
diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am index 6c2574b264..a8f78ead9c 100644 --- a/cpukit/Makefile.am +++ b/cpukit/Makefile.am @@ -510,7 +510,20 @@ librtemscpu_a_SOURCES += posix/src/mlockall.c librtemscpu_a_SOURCES += posix/src/mlock.c librtemscpu_a_SOURCES += posix/src/mmap.c librtemscpu_a_SOURCES += posix/src/mprotect.c +librtemscpu_a_SOURCES += posix/src/mqueue.c +librtemscpu_a_SOURCES += posix/src/mqueueclose.c librtemscpu_a_SOURCES += posix/src/mqueueconfig.c +librtemscpu_a_SOURCES += posix/src/mqueuedeletesupp.c +librtemscpu_a_SOURCES += posix/src/mqueuegetattr.c +librtemscpu_a_SOURCES += posix/src/mqueueopen.c +librtemscpu_a_SOURCES += posix/src/mqueuereceive.c +librtemscpu_a_SOURCES += posix/src/mqueuerecvsupp.c +librtemscpu_a_SOURCES += posix/src/mqueuesend.c +librtemscpu_a_SOURCES += posix/src/mqueuesendsupp.c +librtemscpu_a_SOURCES += posix/src/mqueuesetattr.c +librtemscpu_a_SOURCES += posix/src/mqueuetimedreceive.c +librtemscpu_a_SOURCES += posix/src/mqueuetimedsend.c +librtemscpu_a_SOURCES += posix/src/mqueueunlink.c librtemscpu_a_SOURCES += posix/src/msync.c librtemscpu_a_SOURCES += posix/src/munlockall.c librtemscpu_a_SOURCES += posix/src/munlock.c @@ -1047,20 +1060,7 @@ librtemscpu_a_SOURCES += posix/src/getitimer.c librtemscpu_a_SOURCES += posix/src/kill.c librtemscpu_a_SOURCES += posix/src/killinfo.c librtemscpu_a_SOURCES += posix/src/kill_r.c -librtemscpu_a_SOURCES += posix/src/mqueue.c -librtemscpu_a_SOURCES += posix/src/mqueueclose.c -librtemscpu_a_SOURCES += posix/src/mqueuedeletesupp.c -librtemscpu_a_SOURCES += posix/src/mqueuegetattr.c librtemscpu_a_SOURCES += posix/src/mqueuenotify.c -librtemscpu_a_SOURCES += posix/src/mqueueopen.c -librtemscpu_a_SOURCES += posix/src/mqueuereceive.c -librtemscpu_a_SOURCES += posix/src/mqueuerecvsupp.c -librtemscpu_a_SOURCES += posix/src/mqueuesend.c -librtemscpu_a_SOURCES += posix/src/mqueuesendsupp.c -librtemscpu_a_SOURCES += posix/src/mqueuesetattr.c -librtemscpu_a_SOURCES += posix/src/mqueuetimedreceive.c -librtemscpu_a_SOURCES += posix/src/mqueuetimedsend.c -librtemscpu_a_SOURCES += posix/src/mqueueunlink.c librtemscpu_a_SOURCES += posix/src/pause.c librtemscpu_a_SOURCES += posix/src/psignal.c librtemscpu_a_SOURCES += posix/src/psignalclearprocesssignals.c diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index 78a73c8c4a..c2c6fe6507 100644 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -33,6 +33,7 @@ #include <rtems/score/userextimpl.h> #include <rtems/score/wkspace.h> #include <rtems/posix/key.h> +#include <rtems/posix/mqueue.h> #include <rtems/posix/semaphore.h> #include <rtems/posix/shm.h> @@ -1937,6 +1938,10 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS \ rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE) #endif + #if !defined(CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) + #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES \ + rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE) + #endif #if !defined(CONFIGURE_MAXIMUM_POSIX_SEMAPHORES) #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \ rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE) @@ -1961,10 +1966,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE) #endif */ - #if !defined(CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) - #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES \ - rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE) - #endif #endif /* RTEMS_POSIX_API */ #endif /* CONFIGURE_UNLIMITED_OBJECTS */ @@ -2308,6 +2309,22 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; + _Configure_Max_Objects(_number) \ * _Configure_From_workspace(_POSIX_PATH_MAX + 1)) +/** + * This configuration parameter specifies the maximum number of + * POSIX API message queues. + */ +#ifndef CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES + #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES 0 +#endif + +/* + * This macro is calculated to specify the memory required for + * POSIX API message queues. + */ +#define _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(_message_queues) \ + _Configure_POSIX_Named_Object_RAM( \ + _message_queues, sizeof(POSIX_Message_queue_Control) ) + /** * This configuration parameter specifies the maximum number of * POSIX API semaphores. @@ -2345,8 +2362,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #ifdef RTEMS_POSIX_API #include <sys/types.h> #include <signal.h> - #include <mqueue.h> - #include <rtems/posix/mqueue.h> #include <rtems/posix/psignal.h> #include <rtems/posix/pthread.h> #include <rtems/posix/threadsup.h> @@ -2391,22 +2406,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; _Configure_From_workspace( \ (_queued_signals) * (sizeof(POSIX_signals_Siginfo_node)) ) - /** - * This configuration parameter specifies the maximum number of - * POSIX API message queues. - */ - #ifndef CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES - #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES 0 - #endif - - /* - * This macro is calculated to specify the memory required for - * POSIX API message queues. - */ - #define _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(_message_queues) \ - _Configure_POSIX_Named_Object_RAM( \ - _message_queues, sizeof(POSIX_Message_queue_Control) ) - #ifdef CONFIGURE_POSIX_INIT_THREAD_TABLE #ifndef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE #ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT @@ -2545,8 +2544,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define _CONFIGURE_MEMORY_FOR_POSIX \ (_CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \ CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS) + \ - _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \ - CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) + \ _CONFIGURE_MEMORY_FOR_POSIX_TIMERS(CONFIGURE_MAXIMUM_POSIX_TIMERS)) #else /* @@ -2705,6 +2702,8 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; _CONFIGURE_MEMORY_FOR_POSIX_KEYS( \ _CONFIGURE_POSIX_KEYS, \ CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS ) + \ + _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \ + CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) + \ _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \ CONFIGURE_MAXIMUM_POSIX_SEMAPHORES) + \ _CONFIGURE_MEMORY_FOR_POSIX_SHMS( \ @@ -3211,8 +3210,8 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #ifdef RTEMS_POSIX_API uint32_t POSIX_TIMERS; uint32_t POSIX_QUEUED_SIGNALS; - uint32_t POSIX_MESSAGE_QUEUES; #endif + uint32_t POSIX_MESSAGE_QUEUES; uint32_t POSIX_SEMAPHORES; uint32_t POSIX_SHMS; @@ -3259,9 +3258,9 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; _CONFIGURE_MEMORY_FOR_POSIX_TIMERS( CONFIGURE_MAXIMUM_POSIX_TIMERS ), _CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ), +#endif _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES ), -#endif _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( CONFIGURE_MAXIMUM_POSIX_SEMAPHORES ), _CONFIGURE_MEMORY_FOR_POSIX_SHMS( CONFIGURE_MAXIMUM_POSIX_SHMS ), @@ -3327,7 +3326,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #if ((CONFIGURE_MAXIMUM_POSIX_THREADS != 0) || \ (CONFIGURE_MAXIMUM_POSIX_TIMERS != 0) || \ (CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS != 0) || \ - (CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES != 0) || \ defined(CONFIGURE_POSIX_INIT_THREAD_TABLE)) #error "CONFIGURATION ERROR: POSIX API support not configured!!" #endif diff --git a/cpukit/include/rtems/score/coremsg.h b/cpukit/include/rtems/score/coremsg.h index 8d25529fdc..e0a7e05bbf 100644 --- a/cpukit/include/rtems/score/coremsg.h +++ b/cpukit/include/rtems/score/coremsg.h @@ -38,14 +38,12 @@ extern "C" { */ /**@{*/ -#if defined(RTEMS_POSIX_API) - /** - * This macro is defined when an API is enabled that requires that the - * Message Queue Handler include support for priority based enqueuing - * of messages. - */ - #define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY -#endif +/** + * This macro is defined when an API is enabled that requires that the + * Message Queue Handler include support for priority based enqueuing + * of messages. + */ +#define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY #if defined(RTEMS_POSIX_API) /** @@ -56,13 +54,11 @@ extern "C" { #define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION #endif -#if defined(RTEMS_POSIX_API) - /** - * This macro is defined when an API is enabled that requires the - * Message Queue Handler include support for blocking send operations. - */ - #define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND -#endif +/** + * This macro is defined when an API is enabled that requires the + * Message Queue Handler include support for blocking send operations. + */ +#define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND typedef struct CORE_message_queue_Control CORE_message_queue_Control; diff --git a/cpukit/rtems/src/rtemsobjectgetapiclassname.c b/cpukit/rtems/src/rtemsobjectgetapiclassname.c index 61ca90fe7e..3f26f2f25b 100644 --- a/cpukit/rtems/src/rtemsobjectgetapiclassname.c +++ b/cpukit/rtems/src/rtemsobjectgetapiclassname.c @@ -47,8 +47,8 @@ static const rtems_assoc_t rtems_object_api_posix_assoc[] = { { "Thread", OBJECTS_POSIX_THREADS, 0}, { "Key", OBJECTS_POSIX_KEYS, 0}, { "Interrupt", OBJECTS_POSIX_INTERRUPTS, 0}, - { "Message Queue", OBJECTS_POSIX_MESSAGE_QUEUES, 0}, #endif + { "Message Queue", OBJECTS_POSIX_MESSAGE_QUEUES, 0}, { "Semaphore", OBJECTS_POSIX_SEMAPHORES, 0}, #ifdef RTEMS_POSIX_API { "Timer", OBJECTS_POSIX_TIMERS, 0}, -- 2.16.4 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel