Am 2011-10-24 12:31, schrieb Corinna Vinschen:
On Oct 24 12:11, Franz Sirl wrote:
Am 2011-10-21 17:35, schrieb Corinna Vinschen:
On Oct 21 16:58, Franz Sirl wrote:
I will create a support case with Novell. To make my understanding
clear, I think there are actually 2 problems here (Win32 calls for
illustration, assuming the directory is already opened):


   0. The directory has been opened with all sharing modes allowed "elsewhere".

1. CreateFile(FILE_READ_ATTRIBUTES | DELETE, FILE_SHARE_DELETE)
should not succeed, but fail with STATUS_SHARING_VIOLATION

I didn't see a full strace from W7.  Did you check that this doesn't
happen anyway?

strace attached. Succeeding here depends on the access modes of the
open handle(s) or if the directory is not open at all.

That's why I added the step 0.  But if the file is open elsewhere,
this step should not succeed based on the access modes, but only
based on the sharing modes allowed by the other handle.

Not exactly, at least on W7. For example FILE_SHARE_READ doesn't seem to matter without FILE_READ_DATA.

Your changes work, I just tried the 20111023 snapshot. See the
attached strace on Win7/64.

Thanks, it looks like expected now, given NcFsd's behaviour.  Note
that this can't be fixed on NWFS.  On NWFS, only the changes to
upstream coreutils as outlined in
http://cygwin.com/ml/cygwin/2011-10/msg00481.html will help.

Yes, I noticed that one too, thanks. Any idea when the fix will show up in Cygwin's coreutils?


I also attached the simple testcase I'll submit to Novell. Please
let me know if you think something is wrong with the testcase.

Looks good to me.  For completeness, maybe you should note that
delete-on-close works in this scenario, but it's desired that both
methods work, just as on NTFS, for instance.

Good idea, done.

Thanks for your help!
Franz.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to