Mercurial > vim
diff src/os_unix.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 | 758822790b43 |
children | 6d80dbca8501 |
line wrap: on
line diff
--- a/src/os_unix.c +++ b/src/os_unix.c @@ -4454,7 +4454,7 @@ mch_call_shell(cmd, options) ++noread_cnt; while (RealWaitForChar(fromshell_fd, 10L, NULL)) { - len = read(fromshell_fd, (char *)buffer + len = read_eintr(fromshell_fd, buffer # ifdef FEAT_MBYTE + buffer_off, (size_t)(BUFLEN - buffer_off) # else