File access denied after subprocess completion on Windows platform
Terry Reedy
tjreedy at udel.edu
Tue May 24 18:03:42 EDT 2011
On 5/24/2011 4:18 PM, Claudiu Nicolaie CISMARU wrote:
>> Seems that close_fds did the trick. Anyway, I read that description on
>> the documentation last night but I think I was so tired that I
>> understood that in Windows has no effect... :)
>
> Now. There is one more issue. Seems that on faster computers and/or
> Windows 7 (the Win32 thing I have tested on a HVM Xen machine with
> Windows XP) the os.rename is too fast after fp.close() and generates the
> same Exception. The code follows:
>
> curl.close()
> fp.close()
> os.rename(tfile, actualfile)
>
> Where, tfile is the .part file, actual file is the real destination, fp
> was opened with open(..., "wb") and the descriptor passed to curl.
>
> I have solved the issue with self.msleep(10) - msleep is a method of
> QThread. But I don't think it's an elegant and normal solution. Did
> fp.close() is delayed, or? I mean, I don't want to rely on a "sleep" in
> order to workaround the access issue.
>
> On this issue there is no more process spawn, nothing, just the
> downloader thread and the main window. And the access denied appears at
> random time.
I would go with what works. In my experience, mysterious and seemingly
buggy error messages, including Access Denied are not unusual on Windows.
--
Terry Jan Reedy
More information about the Python-list
mailing list