Cygwin: unlink: allow fallback from POSIX to default method
Trying to delete in-use executables and DLLs using FILE_DISPOSITION_POSIX_SEMANTICS returns STATUS_CANNOT_DELETE. Fall back to the former method if that error occurs to allow unlinking these files. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
5628399c84
commit
9fa22dba55
|
@ -733,6 +733,10 @@ unlink_nt (path_conv &pc)
|
||||||
if (pc.file_attributes () & FILE_ATTRIBUTE_READONLY)
|
if (pc.file_attributes () & FILE_ATTRIBUTE_READONLY)
|
||||||
NtSetAttributesFile (fh, pc.file_attributes ());
|
NtSetAttributesFile (fh, pc.file_attributes ());
|
||||||
NtClose (fh);
|
NtClose (fh);
|
||||||
|
/* Trying to delete in-use executables and DLLs using
|
||||||
|
FILE_DISPOSITION_POSIX_SEMANTICS returns STATUS_CANNOT_DELETE.
|
||||||
|
Fall back to the default method. */
|
||||||
|
if (status != STATUS_CANNOT_DELETE)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue