@@ -727,13 +727,16 @@ _io.FileIO.readall
727727
728728Read all data from the file, returned as bytes.
729729
730- In non-blocking mode, returns as much as is immediately available,
731- or None if no data is available. Return an empty bytes object at EOF.
730+ Reads until either there is an error or read() returns size 0 (indicates EOF).
731+ If the file is already at EOF, returns an empty bytes object.
732+
733+ In non-blocking mode, returns as much data as could be read before EAGAIN. If no
734+ data is available (EAGAIN is returned before bytes are read) returns None.
732735[clinic start generated code]*/
733736
734737static PyObject *
735738_io_FileIO_readall_impl (fileio * self )
736- /*[clinic end generated code: output=faa0292b213b4022 input=dbdc137f55602834 ]*/
739+ /*[clinic end generated code: output=faa0292b213b4022 input=1e19849857f5d0a1 ]*/
737740{
738741 Py_off_t pos , end ;
739742 PyObject * result ;
@@ -848,14 +851,19 @@ _io.FileIO.read
848851
849852Read at most size bytes, returned as bytes.
850853
851- Only makes one system call, so less data may be returned than requested.
852- In non-blocking mode, returns None if no data is available.
853- Return an empty bytes object at EOF.
854+ If size is less than 0, read all bytes in the file making multiple read calls.
855+ See ``FileIO.readall``.
856+
857+ Attempts to make only one system call, retrying only per PEP 475 (EINTR). This
858+ means less data may be returned than requested.
859+
860+ In non-blocking mode, returns None if no data is available. Return an empty
861+ bytes object at EOF.
854862[clinic start generated code]*/
855863
856864static PyObject *
857865_io_FileIO_read_impl (fileio * self , PyTypeObject * cls , Py_ssize_t size )
858- /*[clinic end generated code: output=bbd749c7c224143e input=f613d2057e4a1918 ]*/
866+ /*[clinic end generated code: output=bbd749c7c224143e input=cf21fddef7d38ab6 ]*/
859867{
860868 char * ptr ;
861869 Py_ssize_t n ;
0 commit comments