mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-22 07:09:54 +00:00
Fix write-region to null device on MS-Windows
* src/fileio.c (write_region) [WINDOWSNT]: Ignore EBADF errors from fsync -- this means fsync is not supported for this file. Happens, for example, with the null device. (Bug#59545)
This commit is contained in:
parent
f35da11199
commit
ec9fbad908
10
src/fileio.c
10
src/fileio.c
@ -5387,12 +5387,16 @@ write_region (Lisp_Object start, Lisp_Object end, Lisp_Object filename,
|
||||
{
|
||||
/* Transfer data and metadata to disk, retrying if interrupted.
|
||||
fsync can report a write failure here, e.g., due to disk full
|
||||
under NFS. But ignore EINVAL, which means fsync is not
|
||||
supported on this file. */
|
||||
under NFS. But ignore EINVAL (and EBADF on Windows), which
|
||||
means fsync is not supported on this file. */
|
||||
while (fsync (desc) != 0)
|
||||
if (errno != EINTR)
|
||||
{
|
||||
if (errno != EINVAL)
|
||||
if (errno != EINVAL
|
||||
#ifdef WINDOWSNT
|
||||
&& errno != EBADF
|
||||
#endif
|
||||
)
|
||||
ok = 0, save_errno = errno;
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user