updated for version 7.3.083
Problem: When a read() or write() is interrupted by a signal it fails.
Solution: Add read_eintr() and write_eintr().
diff --git a/src/memfile.c b/src/memfile.c
index c6f5fdf..e9fe314 100644
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -1049,7 +1049,7 @@
PERROR(_("E294: Seek error in swap file read"));
return FAIL;
}
- if ((unsigned)vim_read(mfp->mf_fd, hp->bh_data, size) != size)
+ if ((unsigned)read_eintr(mfp->mf_fd, hp->bh_data, size) != size)
{
PERROR(_("E295: Read error in swap file"));
return FAIL;
@@ -1168,7 +1168,7 @@
}
#endif
- if ((unsigned)vim_write(mfp->mf_fd, data, size) != size)
+ if ((unsigned)write_eintr(mfp->mf_fd, data, size) != size)
result = FAIL;
#ifdef FEAT_CRYPT