Skip to content

Commit

Permalink
mingw: suggest windows.appendAtomically in more cases
Browse files Browse the repository at this point in the history
When running Git for Windows on a remote APFS filesystem, it would
appear that the `mingw_open_append()`/`write()` combination would fail
almost exactly like on some CIFS-mounted shares as had been reported in
#2753, albeit with a
different `errno` value.

Let's handle that `errno` value just the same, by suggesting to set
`windows.appendAtomically=false`.

Signed-off-by: David Lomas <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
  • Loading branch information
dsl101 authored and Git for Windows Build Agent committed Aug 7, 2023
1 parent 9fffddc commit 430a65a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion compat/mingw.c
Original file line number Diff line number Diff line change
Expand Up @@ -948,7 +948,7 @@ ssize_t mingw_write(int fd, const void *buf, size_t len)
{
ssize_t result = write(fd, buf, len);

if (result < 0 && errno == EINVAL && buf) {
if (result < 0 && (errno == EINVAL || errno == EBADF) && buf) {
/* check if fd is a pipe */
HANDLE h = (HANDLE) _get_osfhandle(fd);
if (GetFileType(h) == FILE_TYPE_PIPE)
Expand Down

0 comments on commit 430a65a

Please sign in to comment.