forked from Imagelibrary/rtems
Switched to faster implementation.
This commit is contained in:
@@ -42,32 +42,27 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
rtems_status_code _Message_queue_Translate_core_return_code_[] = {
|
||||||
|
RTEMS_SUCCESSFUL, /* CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL */
|
||||||
|
RTEMS_INVALID_SIZE, /* CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE */
|
||||||
|
RTEMS_TOO_MANY, /* CORE_MESSAGE_QUEUE_STATUS_TOO_MANY */
|
||||||
|
RTEMS_UNSATISFIED, /* CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED */
|
||||||
|
RTEMS_UNSATISFIED, /* CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT */
|
||||||
|
RTEMS_OBJECT_WAS_DELETED, /* CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED */
|
||||||
|
RTEMS_TIMEOUT /* CORE_MESSAGE_QUEUE_STATUS_TIMEOUT */
|
||||||
|
};
|
||||||
|
|
||||||
rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
|
rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
|
||||||
unsigned32 the_message_queue_status
|
unsigned32 status
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
switch ( the_message_queue_status ) {
|
#if defined(RTEMS_MULTIPROCESSING)
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL:
|
if ( status == THREAD_STATUS_PROXY_BLOCKING )
|
||||||
return RTEMS_SUCCESSFUL;
|
return RTEMS_PROXY_BLOCKING;
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE:
|
else
|
||||||
return RTEMS_INVALID_SIZE;
|
#endif
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_TOO_MANY:
|
if ( status > CORE_MESSAGE_QUEUE_STATUS_TIMEOUT )
|
||||||
return RTEMS_TOO_MANY;
|
return RTEMS_INTERNAL_ERROR;
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED:
|
else
|
||||||
return RTEMS_UNSATISFIED;
|
return _Message_queue_Translate_core_return_code_[status];
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT:
|
|
||||||
return RTEMS_UNSATISFIED;
|
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED:
|
|
||||||
return RTEMS_OBJECT_WAS_DELETED;
|
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_TIMEOUT:
|
|
||||||
return RTEMS_TIMEOUT;
|
|
||||||
case THREAD_STATUS_PROXY_BLOCKING:
|
|
||||||
return RTEMS_PROXY_BLOCKING;
|
|
||||||
}
|
|
||||||
_Internal_error_Occurred( /* XXX */
|
|
||||||
INTERNAL_ERROR_RTEMS_API,
|
|
||||||
TRUE,
|
|
||||||
the_message_queue_status
|
|
||||||
);
|
|
||||||
return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,32 +42,27 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
rtems_status_code _Message_queue_Translate_core_return_code_[] = {
|
||||||
|
RTEMS_SUCCESSFUL, /* CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL */
|
||||||
|
RTEMS_INVALID_SIZE, /* CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE */
|
||||||
|
RTEMS_TOO_MANY, /* CORE_MESSAGE_QUEUE_STATUS_TOO_MANY */
|
||||||
|
RTEMS_UNSATISFIED, /* CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED */
|
||||||
|
RTEMS_UNSATISFIED, /* CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT */
|
||||||
|
RTEMS_OBJECT_WAS_DELETED, /* CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED */
|
||||||
|
RTEMS_TIMEOUT /* CORE_MESSAGE_QUEUE_STATUS_TIMEOUT */
|
||||||
|
};
|
||||||
|
|
||||||
rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
|
rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
|
||||||
unsigned32 the_message_queue_status
|
unsigned32 status
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
switch ( the_message_queue_status ) {
|
#if defined(RTEMS_MULTIPROCESSING)
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL:
|
if ( status == THREAD_STATUS_PROXY_BLOCKING )
|
||||||
return RTEMS_SUCCESSFUL;
|
return RTEMS_PROXY_BLOCKING;
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE:
|
else
|
||||||
return RTEMS_INVALID_SIZE;
|
#endif
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_TOO_MANY:
|
if ( status > CORE_MESSAGE_QUEUE_STATUS_TIMEOUT )
|
||||||
return RTEMS_TOO_MANY;
|
return RTEMS_INTERNAL_ERROR;
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED:
|
else
|
||||||
return RTEMS_UNSATISFIED;
|
return _Message_queue_Translate_core_return_code_[status];
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT:
|
|
||||||
return RTEMS_UNSATISFIED;
|
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED:
|
|
||||||
return RTEMS_OBJECT_WAS_DELETED;
|
|
||||||
case CORE_MESSAGE_QUEUE_STATUS_TIMEOUT:
|
|
||||||
return RTEMS_TIMEOUT;
|
|
||||||
case THREAD_STATUS_PROXY_BLOCKING:
|
|
||||||
return RTEMS_PROXY_BLOCKING;
|
|
||||||
}
|
|
||||||
_Internal_error_Occurred( /* XXX */
|
|
||||||
INTERNAL_ERROR_RTEMS_API,
|
|
||||||
TRUE,
|
|
||||||
the_message_queue_status
|
|
||||||
);
|
|
||||||
return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user