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/os_unix.c b/src/os_unix.c
index 9fcebd6..ba86dbf 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -4454,7 +4454,7 @@
 		    ++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