Back to index

glibc  2.9
Defines | Functions
readv.c File Reference
#include <errno.h>
#include <stddef.h>
#include <sys/param.h>
#include <sys/uio.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <sysdeps/posix/readv.c>

Go to the source code of this file.


#define UIO_FASTIOV   8 /* 8 is a safe number. */
#define __libc_readv   static internal_function __atomic_readv_replacement


static ssize_t __atomic_readv_replacement (int, __const struct iovec *, int)
ssize_t __libc_readv (int fd, const struct iovec *vector, int count)

Define Documentation

#define UIO_FASTIOV   8 /* 8 is a safe number. */

Function Documentation

static ssize_t __atomic_readv_replacement ( int  ,
__const struct iovec ,
) [static]

Definition at line 29 of file readv.c.

  ssize_t bytes_read;

  bytes_read = INLINE_SYSCALL (readv, 3, fd, CHECK_N (vector, count), count);

  if (bytes_read >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
    return bytes_read;

  return __atomic_readv_replacement (fd, vector, count);

Here is the call graph for this function:

ssize_t __libc_readv ( int  fd,
const struct iovec vector,
int  count 

Definition at line 56 of file readv.c.

    return do_readv (fd, vector, count);

  int oldtype = LIBC_CANCEL_ASYNC ();

  int result = do_readv (fd, vector, count);

  LIBC_CANCEL_RESET (oldtype);

  return result;