aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-11-10 19:40:16 +0000
committerUlrich Drepper <drepper@redhat.com>2007-11-10 19:40:16 +0000
commit01e7fdbb7434ec51aee02044b8391c1ebdfb5698 (patch)
tree3690c87263fe8cfdcb092d0582574e4473be68d3
parent7f745396c470216fb36d1d9867fb51318abc951d (diff)
downloadglibc-01e7fdbb7434ec51aee02044b8391c1ebdfb5698.zip
glibc-01e7fdbb7434ec51aee02044b8391c1ebdfb5698.tar.gz
glibc-01e7fdbb7434ec51aee02044b8391c1ebdfb5698.tar.bz2
* sysdeps/pthread/aio_misc.c (handle_fildes_io): Avoid unnecessary
complications for 64-bit platforms.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/pthread/aio_misc.c8
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0cd4894..468f3ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2007-11-10 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/pthread/aio_misc.c (handle_fildes_io): Avoid unnecessary
+ complications for 64-bit platforms.
+
* sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..
* sysdeps/unix/sysv/linux/open64_2.c: ...here. New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
diff --git a/sysdeps/pthread/aio_misc.c b/sysdeps/pthread/aio_misc.c
index 3e1dbe9..fd3fcbb 100644
--- a/sysdeps/pthread/aio_misc.c
+++ b/sysdeps/pthread/aio_misc.c
@@ -1,5 +1,5 @@
/* Handle general operations.
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006, 2007
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -512,7 +512,8 @@ handle_fildes_io (void *arg)
by signals. */
if ((aiocbp->aiocb.aio_lio_opcode & 127) == LIO_READ)
{
- if (aiocbp->aiocb.aio_lio_opcode & 128)
+ if (sizeof (off_t) != sizeof (off64_t)
+ && aiocbp->aiocb.aio_lio_opcode & 128)
aiocbp->aiocb.__return_value =
TEMP_FAILURE_RETRY (__pread64 (fildes, (void *)
aiocbp->aiocb64.aio_buf,
@@ -537,7 +538,8 @@ handle_fildes_io (void *arg)
}
else if ((aiocbp->aiocb.aio_lio_opcode & 127) == LIO_WRITE)
{
- if (aiocbp->aiocb.aio_lio_opcode & 128)
+ if (sizeof (off_t) != sizeof (off64_t)
+ && aiocbp->aiocb.aio_lio_opcode & 128)
aiocbp->aiocb.__return_value =
TEMP_FAILURE_RETRY (__pwrite64 (fildes, (const void *)
aiocbp->aiocb64.aio_buf,