aboutsummaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorYiannis Marangos <yiannis.marangos@gmail.com>2014-04-10 21:54:12 +0300
committerJunio C Hamano <gitster@pobox.com>2014-04-10 12:18:55 -0700
commit9aa91af0361e3c32fde5f8388dee963838308cd6 (patch)
treee812122e47509cd50c380b77d2c44b304a1cc495 /builtin
parent7bbc4e8fdb33e0a8e42e77cc05460d4c4f615f4d (diff)
downloadgit-9aa91af0361e3c32fde5f8388dee963838308cd6.tar.gz
git-9aa91af0361e3c32fde5f8388dee963838308cd6.tar.xz
wrapper.c: add xpread() similar to xread()
It is a common mistake to call read(2)/pread(2) and forget to anticipate that they may return error with EAGAIN/EINTR when the system call is interrupted. We have xread() helper to relieve callers of read(2) from having to worry about it; add xpread() helper to do the same for pread(2). Update the caller in the builtin/index-pack.c and the mmap emulation in compat/. Signed-off-by: Yiannis Marangos <yiannis.marangos@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/index-pack.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 9e9eb4b74..e7a6b537b 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -542,7 +542,7 @@ static void *unpack_data(struct object_entry *obj,
do {
ssize_t n = (len < 64*1024) ? len : 64*1024;
- n = pread(pack_fd, inbuf, n, from);
+ n = xpread(pack_fd, inbuf, n, from);
if (n < 0)
die_errno(_("cannot pread pack file"));
if (!n)