Help: Guide needed in trying to delete/flush the content of a fifo file.

MRAB python at mrabarnett.plus.com
Mon Nov 15 21:47:09 CET 2010


On 15/11/2010 11:03, Ton wrote:
> On Nov 14, 11:55 pm, MRAB<pyt... at mrabarnett.plus.com>  wrote:
>> On 14/11/2010 14:48, ton ph wrote:>  Hi python geeks,
>>>     I have  problem which i have been trying to find out for the past
>>> some days, i have a device which feeds info to my fifo continuosly, and
>>> a thread of mine reads the
>>> fifo continuosly. Now when i change a parameter in the device, it sends
>>> me different values. Now my problem is that , i want to get rid of the
>>> contents of my previous info which
>>> is present in my buffer of the fifo.So i want to flush the fifo content
>>> when my device starts sending different info .... i am implementing
>>> writing and reading the fifo  using two different threads.
>>> Please someone guide me solving my problem.
>>> I highly apologise everyone in case my post is not so clear...
>>> Thanks everyone in advance.
>>
>> When the info changes, the thread which is putting items into the fifo
>> could flush it just by getting items from it (using a non-blocking get)
>> until it's empty.
>
> Hi Mrab,
>   Thanks for your immediate reply , can you please guide me with any
> tool or library function which i can flush my fifo content .. i use
> os.mkfifo() to make the fifo. Or is there any other way i could do
> this ...
> Thanks

Ah, you're using pipes; I thought you might've been using a queue. I
don't know of a way of flushing a pipe.

I wonder whether it's a good idea for the producer to keep filling the
fifo, because the consumer know how 'old' the info is when it arrives,
and there's your problem of discarding stale info. Perhaps the producer
should wait until the consumer has sent an acknowledgement before
sending more info.



More information about the Python-list mailing list