This is the mail archive of the cygwin-patches@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: fileutils-4.0-3


Hi!

Wednesday, 13 June, 2001 Corinna Vinschen vinschen@redhat.com wrote:

>> Wednesday, 13 June, 2001 Corinna Vinschen cygwin@cygwin.com wrote:
>> 
>> CV> Typically it's the other way around. If a Win32 application opens
>> CV> a file using the `CreateFile' call, it has exclusive access to the
>> CV> file while it's opened. If the application want's to share the
>> CV> file with other apps, it can do that by giving additional flags
>> CV> to `CreateFile' (FILE_SHARE_READ, FILE_SHARE_WRITE). Cygwin's
>> CV> open(2) call uses these flags by default.
>> 
>> well, CreateFile() accepts 0 as second argument, which is what we
>> need-- just query information no matter if anyone opened file in
>> DENYALL mode. i've just tested it on nt4.0 -- it works fine.
>> 
>> the only question is whether we should add new parameter to
>> fhandler::open(), say 'int cygwin_flags', or define new flag in
>> fcntl.h? for me, the first one looks preferable.

CV> Wow. I just read the MSDN entry of CreateFile and I must admit
CV> that I always slipped over that sentence without reading it.
CV> It seems obvious now. If that really works (as you state),
CV> it would be the ultimate solution for `fstat'.

CV> I think you're right using some internal flag. It's not needed
CV> to create a new fcntl flag.

patch attached. i was a bit confused to discover, however, that
stat_worker works somehow without it. AFAICS from stat_worker code,
if it cannot open file, it still tries to get as much information as
it can, file size and times included. so, du works for me either with
or without this patch.

Egor.            mailto:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19

query-open.diff

query-open.ChangeLog


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]