diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-01-13 19:25:15 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-01-13 19:25:15 +0000 |
commit | 53fb837afc4285486e318bcb614c911bbe9b1348 (patch) | |
tree | cdd9b6ff2a66e8f5c746a06d1e639be4c01c6941 /c/src/exec/itron/src/cre_mbf.c | |
parent | Missed removing this file in an earlier commit. This is removed (diff) | |
download | rtems-53fb837afc4285486e318bcb614c911bbe9b1348.tar.bz2 |
POSIX message queues now include complete functionality including
blocking sends when the queue is full. The SuperCore was enhanced
to support blocking on send. The existing POSIX API was debugged
and numerous test cases were added to psxmsgq01 by Jennifer Averett.
SuperCore enhancements and resulting modifications to other APIs
were done by Joel.
There is one significant point of interpretation for the POSIX API.
What happens to threads already blocked on a message queue when the
mode of that same message queue is changed from blocking to non-blocking?
We decided to unblock all waiting tasks with an EAGAIN error just
as if a non-blocking version of the same operation had returned
unsatisfied. This case is not discussed in the POSIX standard and
other implementations may have chosen differently.
Diffstat (limited to 'c/src/exec/itron/src/cre_mbf.c')
-rw-r--r-- | c/src/exec/itron/src/cre_mbf.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/c/src/exec/itron/src/cre_mbf.c b/c/src/exec/itron/src/cre_mbf.c index ca139d53ae..0db738435e 100644 --- a/c/src/exec/itron/src/cre_mbf.c +++ b/c/src/exec/itron/src/cre_mbf.c @@ -25,7 +25,7 @@ ER cre_mbf( T_CMBF *pk_cmbf ) { - CORE_message_queue_Attributes the_message_queue_attributes; + CORE_message_queue_Attributes the_msgq_attributes; ITRON_Message_buffer_Control *the_message_buffer; /* @@ -57,16 +57,14 @@ ER cre_mbf( } if ( pk_cmbf->mbfatr & TA_TPRI ) - the_message_queue_attributes.discipline = - CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY; + the_msgq_attributes.discipline = CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY; else - the_message_queue_attributes.discipline = - CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO; + the_msgq_attributes.discipline = CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO; _CORE_message_queue_Initialize( &the_message_buffer->message_queue, OBJECTS_ITRON_MESSAGE_BUFFERS, - &the_message_queue_attributes, + &the_msgq_attributes, pk_cmbf->bufsz / pk_cmbf->maxmsz, pk_cmbf->maxmsz, NULL /* Multiprocessing not supported */ |