Well, I just want to use the RT Pipes as if they are a normal fifo. That
is, the fifo has a bounded amount of memory and if the number of written
bytes exceeds this threshold the data which was firstly written into the
fifo should be dropped. By the way, I am using rt_pipe_write() and
rt_pipe_read() because I just want to exchange simple integer values.
Thanks for help,
Markus Franke
Gilles Chanteperdrix wrote:
> Gilles Chanteperdrix wrote:
> > Markus Franke wrote:
> > > OK. And if there is an overflow is there anything I can do during
> > > runtime, e.g. just to overwrite the data in the queue?
> >
> > Why not something like:
> >
> > while (-ENOMEM == rt_pipe_write(pipe, buf, size, mode)) {
> > RT_PIPE_MSG *msg;
> > rt_pipe_receive(pipe, &msg, TM_INFINITE);
> > rt_pipe_free(pipe, msgp);
> > }
>
> This will not work: pipe are a two-ways communication channel, so that
> calling rt_pipe_receive returns messages that were sent from
> user-space, and not the messages previously sent with rt_pipe_write. I
> am afraid what you want to do is not what rt pipes were designed for.
>
--
Nichts ist so praktisch wie eine gute Theorie!
begin:vcard
fn:Markus Franke
n:Franke;Markus
adr;quoted-printable:;;Vettersstra=C3=9Fe 64/722;Chemnitz;Saxony;09126;Germany
email;internet:[EMAIL PROTECTED]
x-mozilla-html:FALSE
url:http://www.tu-chemnitz.de/~franm
version:2.1
end:vcard
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help