blob: c7d69cc3dcbfbc4f4720eb7d065f8c4689bba34e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
--- import/ioaux.c.orig Thu Mar 27 19:14:55 2003
+++ import/ioaux.c Thu Mar 27 19:17:21 2003
@@ -36,8 +36,14 @@
while (r < len) {
n = read (fd, buf + r, len - r);
- if (n <= 0)
- return r;
+ if (n == 0)
+ break;
+ if (n < 0) {
+ if (errno == EINTR)
+ continue;
+ else
+ break;
+ }
r += n;
}
@@ -51,9 +57,12 @@
while (r < len) {
n = write (fd, buf + r, len - r);
- if (n < 0)
- return n;
-
+ if (n < 0) {
+ if (errno == EINTR)
+ continue;
+ else
+ break;
+ }
r += n;
}
return r;
|