hello Race conditions as you suggest would be the fault of the operating system and/or filesystem design. Nearly every operating system has drivers which queue requests so that there is no chaos in the allocation of resources. A design flaw that glaring would relegate the operating system to nothing but a toy and the operating system would never be used in a commercial environment.
Having read and studied the GiP Perl code over the years, no where in the code are any cache files nor the download_history file opened and kept open. They are looked at at start up , at which point they are "sucked into" memory to be used. The download_history file is opened for append writes after a file has been downloaded . Does not mean that the file has been downloaded correctly just that it has been downloaded. I would chalk the OP errors to computer "hiccups" , cause unknown. A glitch in time & space. A blink of the Twilight Zone or is it Night Gallery. The bits which go bump in the night. On Mon, May 2, 2016 at 4:40 PM, C E Macfarlane <c.e.macfarl...@macfh.co.uk> wrote: > Please see below ... > > However, there are various things that might alter how much of a problem this > might be in practice, for example here are two: > > 1) The OS - the OP was working with Windows, while all none of his > respondents are. It might be that Windows is less forgiving of attempts by > one process to access a file that is currently being updated by another > process. > > 2) The speed of the hardware. It is likely that filesystem timeouts are > fairly accurately timed and constant across different hardware, while the > time taken to actually update a file will be determined, or rather inversely > determined, by the speed of the hardware. Therefore, the faster the > hardware, the less the likelihood of a contention causing a timeout. I have > fairly old hardware. > > Regards > -- terry l. ridder ><> _______________________________________________ get_iplayer mailing list get_iplayer@lists.infradead.org http://lists.infradead.org/mailman/listinfo/get_iplayer