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:
		| @@ -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; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user