How about a simple kernel module that tracks which FIFO's are in use and
reserves and returns the next one. A simple time-out on a reservation would
protect against at least some faults?
Norman Dresner
Fellow Systems Engineer
Radar Systems Engineering Department
Electronic Systems and Sensors Segment
Northrop Grumman Corporation
Baltimore-Washington International Airport
7323 Aviation Boulevard
Baltimore Maryland 21240
Voice: (410) 993 - 2096 Mornings; all-day voice-mail
(410) 969 - 8068 Afternoons with answering machine
FAX: (410) 993 - 8084 On-site
(410) 969 - 8068 Afternoons; call first to arrange
E-Mail:Mornings: [EMAIL PROTECTED]
Afternoons: [EMAIL PROTECTED]
> -----Original Message-----
> From: Eric Peterson [SMTP:[EMAIL PROTECTED]]
> Sent: Thursday, December 14, 2000 6:58 PM
> To: Stephen D. Cohen
> Cc: '[EMAIL PROTECTED]'
> Subject: Re: [rtl] Using RTFifos with multiple writers?
>
> On Thu, Dec 14, 2000 at 11:37:29AM -0500, Stephen D. Cohen wrote:
> > Hi,
> >
> > David Olofson offered an excellent treatise on why multiple open of
> a
> > FIFO is a bad idea. I would like to offer a fairly simple solution.
> >
> > Simply create a block of FIFOs on the RTL side of the house. Attach
> > them all to the same handler (it gets the FIFO number when it is
> > called, but since you were planning to multi-open, it probably
> doesn't
> > matter).
>
> > Then simply have your user-mode programs try opening FIFOs until
> they
> > succeed or run out of FIFOs to try.
>
> Steve,
>
> Thanks for the suggestion - I thought a bit about doing this, but it
> doesn't scale too well (n**2). Assuming I have a unique FIFO for each
> RT-task, and one for every Linux process, the number of FIFOs starts
> getting large.
>
> David O's suggestion of a message queue seems to be a good solution -
> now
> just to find one...
>
> Regards,
> Eric
>
> --
> God made everything out of nothing, but the nothingness shows through.
> -- Paul Valery
>
> Eric Peterson WB6PYK (805)370-3046 [EMAIL PROTECTED] HOME:
> [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/
-- [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/