Ken Ramey wrote:
> 
> I have an RTLinux application that sets up two FIFOs; one for reading
> commands from the Linux side and another FIFO for sending data to the
> Linux side.  Initially, I had the RT data collection thread just shoving
> the data up the pipe with rtf_put() as it was ready.  I discovered,
> however, that I was overrunning the non-rt side.
> 
> I have currently configured the system to use FIFO handlers on each
> side.  The handler for writes from the non-rt side seems to be working
> as I expected.  The other one, however never seems to be activated.  The
> non-rt program does a read from the FIFO.  I expected that would cause
> the FIFO handler to be invoked to put data in the FIFO.  Instead, the
> handler is never activated and the non-rt application blocks waiting for
> data.
> 

Sounds like you have a standoff..  The Linux side can not read until the rtl
side had placed data in the FIFO and the rtl side cannot place data in the
FIFO until the Linux side has read. 

You might write from rtl first - set a flag that data was written - 
and clear the flag when the handler runs - allowing the next write to the 
FIFO.

> I am beginning to suspect that there is a fundamental flaw in my
> thinking and that what I am trying to do is not possible.  I hope
> someone will tell me I am wrong (and that this actually WILL work) and
> that I've just made some stupid mistake.  Any help would be greatly
> appreciated.
> 
> Ken Ramey
> Steward Observatory
> 
> ----- End of forwarded message from [EMAIL PROTECTED] -----
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/

----- End of forwarded message from [EMAIL PROTECTED] -----
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to