From: Philippe Gerum <rpm@xenomai.org>
To: Filip Van Rillaer <Filip.VanRillaer@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] uClinux write to pipe returning -ENOMEM
Date: Tue, 19 Aug 2008 18:31:26 +0200 [thread overview]
Message-ID: <48AAF55E.9000206@domain.hid> (raw)
In-Reply-To: <406CC9939904F143B9D42CEEA3E56E56431F57@domain.hid>
Filip Van Rillaer wrote:
> Hello,
>
> I am opening the uClinux side of a Xenomai pipe like (so in blocking mode):
> FdPipe = open(PipeName, O_RDWR);
> After some writes to FdPipe I get the returnvalue -ENOMEM.
> I can understand that the internal buffer gets full as my application is
> writing data faster than the Xenomai side is consuming, but I don't
> expect to see a returnvalue -ENOMEM : the calling writing-thread should
> block, isn't it? Please comment.
>
RT is assumed to consume asap and will preempt the non-RT write() caller
immediately upon data receipt, unless the RT code uses some kind of timed
polling, which is considered useless and inefficient, since you can ask a RT
thread to wait for incoming data in a blocking way.
> (When adding the O_SYNC flag things get even worse)
>
That is the point that would actually need fixing: what happens with O_SYNC,
what is worsening exactly?
> Why is the code for xnpipe_write saying:
> if (!mh)
> /* Cannot sleep. */ <--- ???????????????????
> return -ENOMEM;
>
> I am using svn version 4105.
>
> Best regards,
> Filip
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
--
Philippe.
next prev parent reply other threads:[~2008-08-19 16:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-19 16:21 [Xenomai-help] uClinux write to pipe returning -ENOMEM Filip Van Rillaer
2008-08-19 16:31 ` Philippe Gerum [this message]
[not found] ` <406CC9939904F143B9D42CEEA3E56E56431FCD@oab1mx1.oneaccess.intra>
2008-08-20 9:47 ` Philippe Gerum
2008-08-20 10:16 ` Philippe Gerum
2008-08-20 15:04 ` Filip Van Rillaer
2008-08-20 17:00 ` Philippe Gerum
2008-08-20 17:06 ` Philippe Gerum
2008-08-20 19:08 ` Philippe Gerum
2008-08-21 11:08 ` Filip Van Rillaer
2008-08-22 18:20 ` Philippe Gerum
2008-08-25 6:30 ` Filip Van Rillaer
2008-08-22 18:21 ` Philippe Gerum
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=48AAF55E.9000206@domain.hid \
--to=rpm@xenomai.org \
--cc=Filip.VanRillaer@domain.hid \
--cc=xenomai@xenomai.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.