Mercurial > vim
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