Skip to Content.
Sympa Menu

baslinux - Re: [BL] Realplayer8 segmentation faults

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: sindi keesan <keesan AT sdf.lonestar.org>
  • To: baslinux AT lists.ibiblio.org
  • Subject: Re: [BL] Realplayer8 segmentation faults
  • Date: Thu, 30 Sep 2004 21:36:14 +0000 (UTC)

Steven, do you have any idea what this output of strace
has to do with the segmentation fault?

Nope.

What is readv?

Haven't clue.

NAME

readv, writev - read or write a vector

SYNOPSIS

#include <[42]sys/uio.h>

ssize_t readv(int fd, const struct iovec *vector, int count);
ssize_t writev(int fd, const struct iovec *vector, int count);

struct iovec {
void *iov_base; /* Starting address */
size_t iov_len; /* Length in bytes */
};



DESCRIPTION

readv reads data from file descriptor fd, and puts the result in the
buffers described by vector. The number of buffers is specified by
count. The buffers are filled in the order specified. Operates just
like read except that data is put in vector instead of a contiguous
buffer.

writev writes data to file descriptor fd, and from the buffers
described by vector. The number of buffers is specified by count. The
buffers are used in the order specified. Operates just like write
except that data is taken from vector instead of a contiguous buffer.


RETURN VALUE

On success readv returns the number of bytes read. On success writev
returns the number of bytes written. On error, -1 is returned, and
errno is set appropriately.


ERRORS

EINVAL
An invalid argument was given. For instance count might be
greater than MAX_IOVEC, or zero. fd could also be attached to
an object which is unsuitable for reading (for readv) or
writing (for writev).
EFAULT
"Segmentation fault." Most likely vector or some of the
iov_base pointers points to memory that is not properly
allocated.


What does the above mean?



EBADF
The file descriptor fd is not valid.
EINTR
The call was interrupted by a signal before any data was
read/written.
EAGAIN
Non-blocking I/O has been selected using O_NONBLOCK and no data
was immediately available for reading. (Or the file descriptor
fd is for an object that is locked.)
EISDIR
fd refers to a directory.
EOPNOTSUPP
fd refers to a socket or device that does not support
reading/writing.
ENOMEM
Insufficient kernel memory was available.

Other errors may occur, depending on the object connected to fd.

CONFORMING TO

4.4BSD (the readv and writev functions first appeared in BSD 4.2),
Unix98. Linux libc5 used size_t as the type of the count parameter.

SEE ALSO

[43]read(2), [44]write(2), [45]fprintf(3), [46]fscanf(3)

References

2. http://linux.about.com/library/cmd/blcmdl2_readv.htm




Archive powered by MHonArc 2.6.24.

Top of Page