From: Gary Thomas <gary@chez-thomas.org>
To: "Ali, Khurram" <Khurram_Ali@mentor.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
eCos Discussion <ecos-discuss@ecos.sourceware.org>
Subject: RE: [ECOS] POSIX Queue Suspension
Date: Mon, 20 Jun 2005 23:47:00 -0000 [thread overview]
Message-ID: <1119311238.15963.50.camel@hermes> (raw)
In-Reply-To: <32A0F6EE19ECF646A9CF370C3AB15EBE016A8B80@SVR-ALH-EXC-02.mgc.mentorg.com>
On Mon, 2005-06-20 at 16:58 -0500, Ali, Khurram wrote:
> FYI
>
> I got the latest source using anonymous cvs. Used the default
> configuration with POSIX support. I see the behavior which I was
> expecting.
>
> I now have another question: How do I add support for printf? Which
> library is this part of? I am using an x86 PC as my target.
>
What kind of support do you think you need? If you have the POSIX
environment running, you've everything already.
Perhaps you're asking about [interrupt driven] serial drivers?
> Thank you,
> Khurram
>
> -----Original Message-----
> From: ecos-discuss-owner@ecos.sourceware.org
> [mailto:ecos-discuss-owner@ecos.sourceware.org] On Behalf Of Ali,
> Khurram
> Sent: Monday, June 20, 2005 1:49 PM
> To: Andrew Lunn
> Cc: eCos Discussion
> Subject: RE: [ECOS] POSIX Queue Suspension
>
> > If more than one thread is waiting to receive a message when a message
> > arrives at an empty queue and the Priority Scheduling option is
> supported,
> > then the thread of highest priority that has been waiting the longest
> > shall be selected to receive the message.
>
> Thread L is the highest priority thread that has been waiting the
> longest. Shouldn't it be resumed first?
>
> Agreed that other threads also have the same priority, but since there
> is an additional restriction of "waiting the longest" I would assume
> that we can have two or more threads at the same priority?
>
> Am I missing something?
>
> Khurram
>
> -----Original Message-----
> From: Andrew Lunn [mailto:andrew@lunn.ch]
> Sent: Monday, June 20, 2005 12:22 PM
> To: Ali, Khurram
> Cc: eCos Discussion
> Subject: Re: [ECOS] POSIX Queue Suspension
>
> On Mon, Jun 20, 2005 at 10:54:00AM -0500, Ali, Khurram wrote:
> > Hello,
> >
> > I have two POSIX threads that are waiting to receive on a POSIX queue.
> > Thread L suspends on the queue first. Thread K then suspends on the
> > queue. However, when Thread J sends an element to the queue. Thread K
> is
> > resumed first.
> >
> > All threads have the same priority. All queue accesses are also made
> > with the same priority. Shouldn't Thread L be resumed first.
> >
> > What could I be doing wrong?
>
> You don't seem to of read the POSIX standard.
>
> http://www.opengroup.org/onlinepubs/009695399/functions/mq_receive.html
>
> If the specified message queue is empty and O_NONBLOCK is not set in
> the message queue description associated with mqdes, mq_receive()
> shall block until a message is enqueued on the message queue or until
> mq_receive() is interrupted by a signal. If more than one thread is
> waiting to receive a message when a message arrives at an empty queue
> and the Priority Scheduling option is supported, then the thread of
> highest priority that has been waiting the longest shall be selected
> to receive the message. Otherwise, it is unspecified which waiting
> thread receives the message. If the specified message queue is empty
> and O_NONBLOCK is set in the message queue description associated with
> mqdes, no message shall be removed from the queue, and mq_receive()
> shall return an error.
>
> So eCos behavious seems correct to me.
>
> Andrew
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>
>
--
Gary Thomas <gary@chez-thomas.org>
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
next prev parent reply other threads:[~2005-06-20 23:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-20 21:58 Ali, Khurram
2005-06-20 23:47 ` Gary Thomas [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-06-20 18:49 Ali, Khurram
2005-06-20 15:54 Ali, Khurram
2005-06-20 17:22 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1119311238.15963.50.camel@hermes \
--to=gary@chez-thomas.org \
--cc=Khurram_Ali@mentor.com \
--cc=andrew@lunn.ch \
--cc=ecos-discuss@ecos.sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).