diff options
Diffstat (limited to 'c')
-rw-r--r-- | c/src/exec/rtems/inline/message.inl | 7 | ||||
-rw-r--r-- | c/src/exec/rtems/inline/rtems/rtems/message.inl | 7 | ||||
-rw-r--r-- | c/src/exec/rtems/macros/message.inl | 28 | ||||
-rw-r--r-- | c/src/exec/rtems/macros/rtems/rtems/message.inl | 28 |
4 files changed, 34 insertions, 36 deletions
diff --git a/c/src/exec/rtems/inline/message.inl b/c/src/exec/rtems/inline/message.inl index 18d793d2fe..8837159580 100644 --- a/c/src/exec/rtems/inline/message.inl +++ b/c/src/exec/rtems/inline/message.inl @@ -133,10 +133,9 @@ STATIC INLINE void _Message_queue_Free ( Message_queue_Control *the_message_queue ) { - if (the_message_queue->message_buffers) - { - _Workspace_Free((void *) the_message_queue->message_buffers); - the_message_queue->message_buffers = 0; + if (the_message_queue->message_buffers) { + _Workspace_Free((void *) the_message_queue->message_buffers); + the_message_queue->message_buffers = 0; } _Objects_Free( &_Message_queue_Information, &the_message_queue->Object ); diff --git a/c/src/exec/rtems/inline/rtems/rtems/message.inl b/c/src/exec/rtems/inline/rtems/rtems/message.inl index 18d793d2fe..8837159580 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/message.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/message.inl @@ -133,10 +133,9 @@ STATIC INLINE void _Message_queue_Free ( Message_queue_Control *the_message_queue ) { - if (the_message_queue->message_buffers) - { - _Workspace_Free((void *) the_message_queue->message_buffers); - the_message_queue->message_buffers = 0; + if (the_message_queue->message_buffers) { + _Workspace_Free((void *) the_message_queue->message_buffers); + the_message_queue->message_buffers = 0; } _Objects_Free( &_Message_queue_Information, &the_message_queue->Object ); diff --git a/c/src/exec/rtems/macros/message.inl b/c/src/exec/rtems/macros/message.inl index 5415708ac5..ac0b1afb3a 100644 --- a/c/src/exec/rtems/macros/message.inl +++ b/c/src/exec/rtems/macros/message.inl @@ -23,8 +23,7 @@ */ #define _Message_queue_Copy_buffer( _source, _destination ) \ - *(Message_queue_Buffer *)(_destination) = \ - *(Message_queue_Buffer *)(_source) + memcpy( _destination, _source, _size) /*PAGE * @@ -86,23 +85,24 @@ /*PAGE * - * _Message_queue_Allocate - * - */ - -#define _Message_queue_Allocate() \ - (Message_queue_Control *) \ - _Objects_Allocate( &_Message_queue_Information ) - -/*PAGE - * * _Message_queue_Free * */ #define _Message_queue_Free( _the_message_queue ) \ - _Objects_Free( &_Message_queue_Information, \ - &(_the_message_queue)->Object ) + do { \ + \ + if ( (_the_messsage_queue)->message_buffers ) { \ + _Workspace_Free((void *) (_the_message_queue)->message_buffers); \ + (_the_message_queue)->message_buffers = 0; \ + } + \ + _Objects_Free( \ + &_Message_queue_Information, \ + &(_the_message_queue)->Object \ + ); \ + } while ( 0 ) + /*PAGE * diff --git a/c/src/exec/rtems/macros/rtems/rtems/message.inl b/c/src/exec/rtems/macros/rtems/rtems/message.inl index 5415708ac5..ac0b1afb3a 100644 --- a/c/src/exec/rtems/macros/rtems/rtems/message.inl +++ b/c/src/exec/rtems/macros/rtems/rtems/message.inl @@ -23,8 +23,7 @@ */ #define _Message_queue_Copy_buffer( _source, _destination ) \ - *(Message_queue_Buffer *)(_destination) = \ - *(Message_queue_Buffer *)(_source) + memcpy( _destination, _source, _size) /*PAGE * @@ -86,23 +85,24 @@ /*PAGE * - * _Message_queue_Allocate - * - */ - -#define _Message_queue_Allocate() \ - (Message_queue_Control *) \ - _Objects_Allocate( &_Message_queue_Information ) - -/*PAGE - * * _Message_queue_Free * */ #define _Message_queue_Free( _the_message_queue ) \ - _Objects_Free( &_Message_queue_Information, \ - &(_the_message_queue)->Object ) + do { \ + \ + if ( (_the_messsage_queue)->message_buffers ) { \ + _Workspace_Free((void *) (_the_message_queue)->message_buffers); \ + (_the_message_queue)->message_buffers = 0; \ + } + \ + _Objects_Free( \ + &_Message_queue_Information, \ + &(_the_message_queue)->Object \ + ); \ + } while ( 0 ) + /*PAGE * |