[Python-Dev] Python 2.5.1 (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Tue May 1 10:13:54 CEST 2007
- Previous message: [Python-Dev] Python 2.5.1
- Next message: [Python-Dev] Python 2.5.1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Alexey Borzenkov schrieb:
On 5/1/07, "Martin v. Löwis" <martin at v.loewis.de> wrote:
> After doing some research I found that it seems to be impossible to > use CreateFile for a file that doesn't have SHAREREAD. So what about GetFileAttributesEx? What are the conditions under which I can successfully invoke it? Seems to have the same problems as with CreateFile(...):
That code only tests it for pagefile.sys. My question was about open handles in general. Both Calvin Spealman and I found that you cannot reproduce the problem when you, in Python 2.5.0, open a file, and then try to os.stat() it - even though, in Python 2.5.0, os.stat() will perform GetFileAttributesEx. So even though we opened the file with not passing any sharing flags, we could still do GetFileAttributesEx on it.
I now studied the CRT sources, and it seems that if you use a regular open() call, the CRT will pass FILE_SHARE_READ | FILE_SHARE_WRITE to CreateFile. You would have to use _sopen in the CRT to create any kind of sharing conflict, and that isn't exposed in Python.
So I guess we need continue using pagefile.sys as a test case.
Regards, Martin
- Previous message: [Python-Dev] Python 2.5.1
- Next message: [Python-Dev] Python 2.5.1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]