diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-08-29 16:27:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-08-29 16:27:10 +0000 |
commit | fbe998a0b1be1f006bc72e5138fb38c188cc0433 (patch) | |
tree | bc00ddfec68454b8987056fbc1f1ace2da2597fa /libelf/elf_readall.c | |
parent | b0bc2788cfa2012bfbcc68cac74cd39e3f5a8085 (diff) |
merge of 333c187506c852455e9f7be44fa9adc360416217
and 79955b942e3f0ddc71117feea5754df61edcc42a
Diffstat (limited to 'libelf/elf_readall.c')
-rw-r--r-- | libelf/elf_readall.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libelf/elf_readall.c b/libelf/elf_readall.c index d36da270..efe44bf8 100644 --- a/libelf/elf_readall.c +++ b/libelf/elf_readall.c @@ -1,5 +1,5 @@ /* Read all of the file associated with the descriptor. - Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Red Hat, Inc. Contributed by Ulrich Drepper <drepper@redhat.com>, 1998. This program is free software; you can redistribute it and/or modify @@ -19,8 +19,10 @@ # include <config.h> #endif +#include <errno.h> #include <unistd.h> +#include <system.h> #include "libelfP.h" #include "common.h" @@ -78,8 +80,10 @@ __libelf_readall (elf) if (mem != NULL) { /* Read the file content. */ - if ((size_t) pread (elf->fildes, mem, elf->maximum_size, - elf->start_offset) != elf->maximum_size) + if (unlikely ((size_t) pread_retry (elf->fildes, mem, + elf->maximum_size, + elf->start_offset) + != elf->maximum_size)) { /* Something went wrong. */ __libelf_seterrno (ELF_E_READ_ERROR); |