how to test if a pipe contains data

Christof Warlich christof at warlich.name
Tue Jan 24 19:20:35 UTC 2012


Am 24.01.2012 00:36, schrieb Laurent Bercot:
>> I need to transfer data coming from a pipe over a UMTS link to a web server.
>>  From time to time, the UMTS link goes down, and worse, it sometimes cannot
>> be reestablished. I believe that in these cases, the firmware of the UMTS stick
>> hangs, but this is just a guess. Anyhow, the only way I could get the link up and
>> running again when this happens is to reboot the whole system.
>>
>> As my application will have tried for quite a while to get the link up
>> before such drastic measures, quite some data may have accumulated in the pipe.
>> To avoid loosing that data, I need to drain the pipe to store its data
>> to a file surviving the recovery. This is the place where I just want to check if
>> there is still data in the pipe. If it is empty, I reboot.
>   I must be missing something obvious here. Why don't you just do things
> sequentially ?
>
>   cat<  namedpipe>  savefile ; reboot
>
Consider that the reboot is the exceptional case! The system looks more 
something like that:

producer <oldRecoveryData | sender >recoveryData

But don't mind, you guys gave me more helpful ideas I can bear with! :-)




More information about the busybox mailing list