Re: rtems message queue receive

Francesco Poletti fpoletti at libero.it
Fri Feb 21 17:07:28 UTC 2003


Yes, the WAIT receive never wake up, instead in the NO_WAIT mode the, cyclying untile the receive return succes I have the right transfer.
I'm using the interrupt multiprocessor mode.
Thanks Francesco
Francesco Poletti wrote:
> 
> Hy,
> I don't understand why but in multiprocessing with a global queue the
> rtems_messagge_queue_receive(Queue_id[1],(rtems_unsigned8*)f,RTEMS_WAIT,RTEMS_NO_TIMEOUT) don't works.
> Instead   rtems_messagge_queue_receive(Queue_id[1],(rtems_unsigned8*)f,RTEMS_NO_WAIT,RTEMS_NO_TIMEOUT) works well.


Are you saying that RTEMS_NO_WAIT gives you data while if you have to
block, the caller never wakes up?  If so, then something is wrong with
proxy blocking.

If you are getting an invalid id error back, then no MPCI is happening.

> May be for the fix we done on the 10th of January 2003?

The fix in this ChangeLog entry:

2003-01-10      Joel Sherrill <joel at OARcorp.com>

        * src/objectmp.c: Corrected use of name parameter to reflect
that it
        is actually the name not a pointer to the name.

prevented you from ever getting a valid ID on an MP object lookup.  So
knowing
what "works well" actually means and what the failure is would help
diagnose
what is going wrong.

> Thanks to all Francesco.

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985





More information about the users mailing list