xread/xwrite: do not worry about EINTR at calling sites.
We had errno==EINTR check after read(2)/write(2) sprinkled all over the places, always doing continue. Consolidate them into xread()/xwrite() wrapper routines. Credits for suggestion goes to HPA -- bugs are mine. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
@ -55,10 +55,8 @@ int main(int argc, char **argv)
|
||||
die("git-cat-file %s: bad file", argv[2]);
|
||||
|
||||
while (size > 0) {
|
||||
long ret = write(1, buf, size);
|
||||
long ret = xwrite(1, buf, size);
|
||||
if (ret < 0) {
|
||||
if (errno == EAGAIN)
|
||||
continue;
|
||||
/* Ignore epipe */
|
||||
if (errno == EPIPE)
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user