Back to index

glibc  2.9
Defines | Functions
writev.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/writev.c>

Go to the source code of this file.


#define UIO_FASTIOV   8 /* 8 is a safe number. */
#define __libc_writev   static internal_function __atomic_writev_replacement


static ssize_t __atomic_writev_replacement (int, const struct iovec *, int)
ssize_t __libc_writev (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_writev_replacement ( int  ,
const struct iovec ,
) [static]

Definition at line 29 of file writev.c.

  ssize_t bytes_written;

  bytes_written = INLINE_SYSCALL (writev, 3, fd, CHECK_N (vector, count), count);

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

  return __atomic_writev_replacement (fd, vector, count);

Here is the call graph for this function:

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

Definition at line 55 of file writev.c.

    return do_writev (fd, vector, count);

  int oldtype = LIBC_CANCEL_ASYNC ();

  ssize_t result = do_writev (fd, vector, count);

  LIBC_CANCEL_RESET (oldtype);

  return result;