Mercurial > vim
diff src/undo.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 | fae6fb779a6b |
children | 1a0d346695fa |
line wrap: on
line diff
--- a/src/undo.c +++ b/src/undo.c @@ -1386,7 +1386,7 @@ u_write_undo(name, forceit, buf, hash) char_u mbuf[UF_START_MAGIC_LEN]; int len; - len = vim_read(fd, mbuf, UF_START_MAGIC_LEN); + len = read_eintr(fd, mbuf, UF_START_MAGIC_LEN); close(fd); if (len < UF_START_MAGIC_LEN || memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0)