]> granicus.if.org Git - python/commitdiff
improve description of buffers argument for readv/writev (closes #17811)
authorBenjamin Peterson <benjamin@python.org>
Sun, 19 Jan 2014 03:54:59 +0000 (22:54 -0500)
committerBenjamin Peterson <benjamin@python.org>
Sun, 19 Jan 2014 03:54:59 +0000 (22:54 -0500)
Patch by Nikolaus Rath.

Doc/library/os.rst
Modules/posixmodule.c

index 20f3e87546062694632a94a5d7b8821d774357d9..b11098e95f977856edf18b9b246f61a9ab069e6c 100644 (file)
@@ -1019,10 +1019,13 @@ as internal buffering of data.
 
 .. 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.
 
    .. versionadded:: 3.3
@@ -1071,10 +1074,11 @@ as internal buffering of data.
 
 .. 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.
 
    .. versionadded:: 3.3
index 905b1de4ea385f80f92385fa41dd74662959d46a..4b077a0188b96cb90ebea1e31b3584ccfca13f0b 100644 (file)
@@ -8100,9 +8100,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)
@@ -8465,9 +8468,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)