summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/os.rst16
-rw-r--r--Modules/posixmodule.c16
2 files changed, 20 insertions, 12 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 32c1563..1fc8de9 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -1103,9 +1103,12 @@ or `the MSDN <http://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ on Window
.. function:: readv(fd, buffers)
- Read from a file descriptor into a number of writable buffers. *buffers* is
- an arbitrary sequence of writable buffers. Returns the total number of bytes
- read.
+ Read from a file descriptor *fd* into a number of mutable :term:`bytes-like
+ objects <bytes-like object>` *buffers*. :func:`~os.readv` will transfer data
+ into each buffer until it is full and then move on to the next buffer in the
+ sequence to hold the rest of the data. :func:`~os.readv` returns the total
+ number of bytes read (which may be less than the total capacity of all the
+ objects).
Availability: Unix.
@@ -1155,9 +1158,10 @@ or `the MSDN <http://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ on Window
.. function:: writev(fd, buffers)
- Write the contents of *buffers* to file descriptor *fd*, where *buffers*
- is an arbitrary sequence of buffers.
- Returns the total number of bytes written.
+ Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a
+ sequence of :term:`bytes-like objects <bytes-like object>`.
+ :func:`~os.writev` writes the contents of each object to the file descriptor
+ and returns the total number of bytes written.
Availability: Unix.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 0a3b250..35b9ff4 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -8061,9 +8061,12 @@ iov_cleanup(struct iovec *iov, Py_buffer *buf, int cnt)
#ifdef HAVE_READV
PyDoc_STRVAR(posix_readv__doc__,
"readv(fd, buffers) -> bytesread\n\n\
-Read from a file descriptor into a number of writable buffers. buffers\n\
-is an arbitrary sequence of writable buffers.\n\
-Returns the total number of bytes read.");
+Read from a file descriptor fd into a number of mutable, bytes-like\n\
+objects (\"buffers\"). readv will transfer data into each buffer\n\
+until it is full and then move on to the next buffer in the sequence\n\
+to hold the rest of the data.\n\n\
+readv returns the total number of bytes read (which may be less than\n\
+the total capacity of all the buffers.");
static PyObject *
posix_readv(PyObject *self, PyObject *args)
@@ -8457,9 +8460,10 @@ posix_pipe2(PyObject *self, PyObject *arg)
#ifdef HAVE_WRITEV
PyDoc_STRVAR(posix_writev__doc__,
"writev(fd, buffers) -> byteswritten\n\n\
-Write the contents of buffers to a file descriptor, where buffers is an\n\
-arbitrary sequence of buffers.\n\
-Returns the total bytes written.");
+Write the contents of *buffers* to file descriptor *fd*. *buffers*\n\
+must be a sequence of bytes-like objects.\n\n\
+writev writes the contents of each object to the file descriptor\n\
+and returns the total number of bytes written.");
static PyObject *
posix_writev(PyObject *self, PyObject *args)