tree 6e56fdf6107ce2fce31db5225e239292c655d295
parent 10ecdee651c47bd5a52b3039722601721372995b
author Jeremy Day <jeremy@thebrowser.company> 1717435364 -0700
committer GitHub <noreply@github.com> 1717435364 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmXfvkCRC1aQ7uu5UhlAAAdQMQAGfcQDu0vRXAiXmhhblVyNC5
 4eYuJkmwWIkVeTLvHgbkfq6ogjOcs17zQ3bHgxJ4ne1SBEUFV1dN93Y/U5Lp6O7C
 s/4DNMibCsrKEMXcJi5V0U1bOGuR2BIDHxwFM6XhX751tvSBPSUo5K+LIgycgHqN
 7Az6ztJ8dFKuKn2cyj4tUmHhO9K6k5+ZnjElmXqK3HR+3L+1xIMwKxVQeqFnZPEa
 aJpQps0hwdJyzSslGSG63LBrLROEm74MSTera3GUf0FismvmM6kqTrr/x3hs5a12
 SYJNap7QEZMxHYKsDSjB84sdNT20kneo4lN+cWSovlALBG4YQEzC2VGV9tI/Imx1
 SNcCArUAKb+MigaAzkPEu7mz4lsY9IzQNJHCmQxvtsm1ZwOpkO7eBQwKvbHwWHlX
 qhF7WvnOWm6qTa+31omu5qkHEgvZsSwPNu1n5sNrQBh6gbYWEknunbGbVCsl5XWq
 ur2Qg9ppbl8IVNfZkGxZ/fI/Qjv/8HylL5v2BtjB2sKv6FXE+HAZx0RZza8XftMo
 /O7zlnW8+xkcnEVnPXdzm9GWsa3YGg2maLOKhRAKbx4yQxPeGjRGgUQHtyWnVHQI
 6mPGkLEbr+jw2KWIAMa9HeG6WHvYWqn35qKk44VxFJmtXVUH6KP6iiYar0gENkFg
 gx3LcpfnDvpnEGZvTwgT
 =WmZb
 -----END PGP SIGNATURE-----
 

[Support] Handle delete_pending case for Windows fs::status (#90655)

If a delete is pending on the file queried for status, a misleading
`permission_denied` error code will be returned (this is the correct
mapping of the error set by GetFileAttributesW). By querying the
underlying NTSTATUS code via ntdll's RtlGetLastNtStatus, this case can
be disambiguated. If this underlying error code indicates a pending
delete, fs::status will return a new `pending_delete` error code to be
handled by callers

Fixes #89137