diff src/memfile.c @ 2664:033e7b49356c v7.3.083

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().
author Bram Moolenaar <bram@vim.org>
date Fri, 17 Dec 2010 16:27:16 +0100
parents c08f91142c41
children 1a0d346695fa
line wrap: on
line diff
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -1049,7 +1049,7 @@ mf_read(mfp, hp)
 	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 @@ mf_write_block(mfp, hp, offset, size)
     }
 #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