diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-08-05 13:32:39 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-08-05 13:32:39 +0000 |
commit | f773c0122a4412a8846764a35cccb241efa034c2 (patch) | |
tree | d5e623ff112535491866477204be4c207a07c301 /cpukit/rtems/src/msgmp.c | |
parent | 2008-08-04 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-f773c0122a4412a8846764a35cccb241efa034c2.tar.bz2 |
2008-08-04 Sebastian Huber <sebastian.huber@embedded-brains.de>
* rtems/include/rtems/rtems/sem.h, rtems/src/semobtain.c:
Changed option set type to rtems_option.
* score/src/objectgetinfo.c: Check return value of
_Objects_API_maximum_class().
* libmisc/monitor/mon-mpci.c, libmisc/monitor/monitor.h,
rtems/include/rtems/rtems/message.h, rtems/src/msgmp.c,
rtems/src/msgqallocate.c, rtems/src/msgqbroadcast.c,
rtems/src/msgqcreate.c, rtems/src/msgqreceive.c, rtems/src/msgqsend.c,
rtems/src/msgqurgent.c, score/include/rtems/score/coremsg.h,
score/include/rtems/score/mpci.h, score/include/rtems/score/thread.h,
score/inline/rtems/score/coremsg.inl, score/src/coremsg.c,
score/src/coremsgbroadcast.c, score/src/coremsgseize.c,
score/src/coremsgsubmit.c:
Removed parameters of _Message_queue_Allocate(). Changed option set
type to rtems_option. Changed type of maximum message and packet size
to size_t. Changed the input buffer type for message send functions to
"const void *". Changed the pointer to the second return argument in
the thread wait information to a union. This union can contain a
pointer to an immutable or a mutable object. This is somewhat fragile.
An alternative would be to add a third pointer for immutable objects,
but this would increase the structure size.
Diffstat (limited to '')
-rw-r--r-- | cpukit/rtems/src/msgmp.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/cpukit/rtems/src/msgmp.c b/cpukit/rtems/src/msgmp.c index 471296b2a7..e6a156c5f7 100644 --- a/cpukit/rtems/src/msgmp.c +++ b/cpukit/rtems/src/msgmp.c @@ -92,7 +92,7 @@ void _Message_queue_MP_Send_process_packet ( rtems_status_code _Message_queue_MP_Send_request_packet ( Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, - void *buffer, + const void *buffer, size_t *size_p, rtems_option option_set, rtems_interval timeout @@ -168,8 +168,8 @@ rtems_status_code _Message_queue_MP_Send_request_packet ( the_packet->option_set = option_set; the_packet->size = 0; /* just in case of an error */ - _Thread_Executing->Wait.return_argument = (uint32_t *)buffer; - _Thread_Executing->Wait.return_argument_1 = size_p; + _Thread_Executing->Wait.return_argument_second.immutable_object = buffer; + _Thread_Executing->Wait.return_argument = size_p; return (rtems_status_code) _MPCI_Send_request_packet( _Objects_Get_node(message_queue_id), @@ -322,12 +322,12 @@ void _Message_queue_MP_Process_packet ( the_thread = _MPCI_Process_response( the_packet_prefix ); if (the_packet->Prefix.return_code == RTEMS_SUCCESSFUL) { - *(uint32_t *)the_thread->Wait.return_argument_1 = + *(size_t *) the_thread->Wait.return_argument = the_packet->size; _CORE_message_queue_Copy_buffer( the_packet->Buffer.buffer, - the_thread->Wait.return_argument, + the_thread->Wait.return_argument_second.mutable_object, the_packet->size ); } @@ -395,7 +395,7 @@ void _Message_queue_MP_Process_packet ( the_thread = _MPCI_Process_response( the_packet_prefix ); - *(uint32_t *)the_thread->Wait.return_argument = the_packet->count; + *(uint32_t *) the_thread->Wait.return_argument = the_packet->count; _MPCI_Return_packet( the_packet_prefix ); break; |