make inline and macro implementations match

This commit is contained in:
Joel Sherrill
1995-08-22 15:37:59 +00:00
parent b2c491a080
commit bb322a0ea6
5 changed files with 63 additions and 42 deletions

View File

@@ -22,7 +22,7 @@
* _Message_queue_Copy_buffer * _Message_queue_Copy_buffer
*/ */
#define _Message_queue_Copy_buffer( _source, _destination ) \ #define _Message_queue_Copy_buffer( _source, _destination, _size ) \
memcpy( _destination, _source, _size) memcpy( _destination, _source, _size)
/*PAGE /*PAGE
@@ -31,9 +31,9 @@
* *
*/ */
#define _Message_queue_Allocate_message_buffer() \ #define _Message_queue_Allocate_message_buffer( _the_message_queue ) \
(Message_queue_Buffer_control *) \ (Message_queue_Buffer_control *) \
_Chain_Get( &_Message_queue_Inactive_messages ) _Chain_Get( &(_the_message_queue)->Inactive_messages )
/*PAGE /*PAGE
* *
@@ -41,8 +41,11 @@
* *
*/ */
#define _Message_queue_Free_message_buffer( _the_message ) \ #define _Message_queue_Free_message_buffer( _the_message_queue, _the_message ) \
_Chain_Append( &_Message_queue_Inactive_messages, &(_the_message)->Node ) _Chain_Append( \
&(_the_message_queue)->Inactive_messages, \
&(_the_message)->Node \
)
/*PAGE /*PAGE
* *
@@ -92,10 +95,10 @@
#define _Message_queue_Free( _the_message_queue ) \ #define _Message_queue_Free( _the_message_queue ) \
do { \ do { \
\ \
if ( (_the_messsage_queue)->message_buffers ) { \ if ( (_the_message_queue)->message_buffers ) { \
_Workspace_Free((void *) (_the_message_queue)->message_buffers); \ _Workspace_Free((void *) (_the_message_queue)->message_buffers); \
(_the_message_queue)->message_buffers = 0; \ (_the_message_queue)->message_buffers = 0; \
} } \
\ \
_Objects_Free( \ _Objects_Free( \
&_Message_queue_Information, \ &_Message_queue_Information, \

View File

@@ -22,7 +22,7 @@
* _Message_queue_Copy_buffer * _Message_queue_Copy_buffer
*/ */
#define _Message_queue_Copy_buffer( _source, _destination ) \ #define _Message_queue_Copy_buffer( _source, _destination, _size ) \
memcpy( _destination, _source, _size) memcpy( _destination, _source, _size)
/*PAGE /*PAGE
@@ -31,9 +31,9 @@
* *
*/ */
#define _Message_queue_Allocate_message_buffer() \ #define _Message_queue_Allocate_message_buffer( _the_message_queue ) \
(Message_queue_Buffer_control *) \ (Message_queue_Buffer_control *) \
_Chain_Get( &_Message_queue_Inactive_messages ) _Chain_Get( &(_the_message_queue)->Inactive_messages )
/*PAGE /*PAGE
* *
@@ -41,8 +41,11 @@
* *
*/ */
#define _Message_queue_Free_message_buffer( _the_message ) \ #define _Message_queue_Free_message_buffer( _the_message_queue, _the_message ) \
_Chain_Append( &_Message_queue_Inactive_messages, &(_the_message)->Node ) _Chain_Append( \
&(_the_message_queue)->Inactive_messages, \
&(_the_message)->Node \
)
/*PAGE /*PAGE
* *
@@ -92,10 +95,10 @@
#define _Message_queue_Free( _the_message_queue ) \ #define _Message_queue_Free( _the_message_queue ) \
do { \ do { \
\ \
if ( (_the_messsage_queue)->message_buffers ) { \ if ( (_the_message_queue)->message_buffers ) { \
_Workspace_Free((void *) (_the_message_queue)->message_buffers); \ _Workspace_Free((void *) (_the_message_queue)->message_buffers); \
(_the_message_queue)->message_buffers = 0; \ (_the_message_queue)->message_buffers = 0; \
} } \
\ \
_Objects_Free( \ _Objects_Free( \
&_Message_queue_Information, \ &_Message_queue_Information, \

View File

@@ -68,7 +68,9 @@ Message_queue_Control *_Message_queue_Allocate (
unsigned32 message_buffering_required; unsigned32 message_buffering_required;
unsigned32 allocated_message_size; unsigned32 allocated_message_size;
mq = (Message_queue_Control *)_Objects_Allocate(&_Message_queue_Information); mq = \
(Message_queue_Control *)_Objects_Allocate(&_Message_queue_Information);
if (mq == 0) if (mq == 0)
goto failed; goto failed;
@@ -79,22 +81,26 @@ Message_queue_Control *_Message_queue_Allocate (
*/ */
allocated_message_size = max_message_size; allocated_message_size = max_message_size;
if (allocated_message_size & (sizeof(unsigned32) - 1)) if (allocated_message_size & (sizeof(unsigned32) - 1)) {
{
allocated_message_size += sizeof(unsigned32); allocated_message_size += sizeof(unsigned32);
allocated_message_size &= ~(sizeof(unsigned32) - 1); allocated_message_size &= ~(sizeof(unsigned32) - 1);
} }
message_buffering_required = count * (allocated_message_size + sizeof(Message_queue_Buffer_control)); message_buffering_required =
count * (allocated_message_size + sizeof(Message_queue_Buffer_control));
mq->message_buffers =
(Message_queue_Buffer *) _Workspace_Allocate(message_buffering_required);
mq->message_buffers = (Message_queue_Buffer *) _Workspace_Allocate(message_buffering_required);
if (mq->message_buffers == 0) if (mq->message_buffers == 0)
goto failed; goto failed;
_Chain_Initialize(&mq->Inactive_messages, _Chain_Initialize
(&mq->Inactive_messages,
mq->message_buffers, mq->message_buffers,
count, count,
allocated_message_size + sizeof(Message_queue_Buffer_control)); allocated_message_size + sizeof(Message_queue_Buffer_control)
);
return mq; return mq;
failed: failed:

View File

@@ -22,7 +22,7 @@
* _Message_queue_Copy_buffer * _Message_queue_Copy_buffer
*/ */
#define _Message_queue_Copy_buffer( _source, _destination ) \ #define _Message_queue_Copy_buffer( _source, _destination, _size ) \
memcpy( _destination, _source, _size) memcpy( _destination, _source, _size)
/*PAGE /*PAGE
@@ -31,9 +31,9 @@
* *
*/ */
#define _Message_queue_Allocate_message_buffer() \ #define _Message_queue_Allocate_message_buffer( _the_message_queue ) \
(Message_queue_Buffer_control *) \ (Message_queue_Buffer_control *) \
_Chain_Get( &_Message_queue_Inactive_messages ) _Chain_Get( &(_the_message_queue)->Inactive_messages )
/*PAGE /*PAGE
* *
@@ -41,8 +41,11 @@
* *
*/ */
#define _Message_queue_Free_message_buffer( _the_message ) \ #define _Message_queue_Free_message_buffer( _the_message_queue, _the_message ) \
_Chain_Append( &_Message_queue_Inactive_messages, &(_the_message)->Node ) _Chain_Append( \
&(_the_message_queue)->Inactive_messages, \
&(_the_message)->Node \
)
/*PAGE /*PAGE
* *
@@ -92,10 +95,10 @@
#define _Message_queue_Free( _the_message_queue ) \ #define _Message_queue_Free( _the_message_queue ) \
do { \ do { \
\ \
if ( (_the_messsage_queue)->message_buffers ) { \ if ( (_the_message_queue)->message_buffers ) { \
_Workspace_Free((void *) (_the_message_queue)->message_buffers); \ _Workspace_Free((void *) (_the_message_queue)->message_buffers); \
(_the_message_queue)->message_buffers = 0; \ (_the_message_queue)->message_buffers = 0; \
} } \
\ \
_Objects_Free( \ _Objects_Free( \
&_Message_queue_Information, \ &_Message_queue_Information, \

View File

@@ -68,7 +68,9 @@ Message_queue_Control *_Message_queue_Allocate (
unsigned32 message_buffering_required; unsigned32 message_buffering_required;
unsigned32 allocated_message_size; unsigned32 allocated_message_size;
mq = (Message_queue_Control *)_Objects_Allocate(&_Message_queue_Information); mq = \
(Message_queue_Control *)_Objects_Allocate(&_Message_queue_Information);
if (mq == 0) if (mq == 0)
goto failed; goto failed;
@@ -79,22 +81,26 @@ Message_queue_Control *_Message_queue_Allocate (
*/ */
allocated_message_size = max_message_size; allocated_message_size = max_message_size;
if (allocated_message_size & (sizeof(unsigned32) - 1)) if (allocated_message_size & (sizeof(unsigned32) - 1)) {
{
allocated_message_size += sizeof(unsigned32); allocated_message_size += sizeof(unsigned32);
allocated_message_size &= ~(sizeof(unsigned32) - 1); allocated_message_size &= ~(sizeof(unsigned32) - 1);
} }
message_buffering_required = count * (allocated_message_size + sizeof(Message_queue_Buffer_control)); message_buffering_required =
count * (allocated_message_size + sizeof(Message_queue_Buffer_control));
mq->message_buffers =
(Message_queue_Buffer *) _Workspace_Allocate(message_buffering_required);
mq->message_buffers = (Message_queue_Buffer *) _Workspace_Allocate(message_buffering_required);
if (mq->message_buffers == 0) if (mq->message_buffers == 0)
goto failed; goto failed;
_Chain_Initialize(&mq->Inactive_messages, _Chain_Initialize
(&mq->Inactive_messages,
mq->message_buffers, mq->message_buffers,
count, count,
allocated_message_size + sizeof(Message_queue_Buffer_control)); allocated_message_size + sizeof(Message_queue_Buffer_control)
);
return mq; return mq;
failed: failed: