@@ -727,13 +727,16 @@ _io.FileIO.readall
727
727
728
728
Read all data from the file, returned as bytes.
729
729
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.
732
735
[clinic start generated code]*/
733
736
734
737
static PyObject *
735
738
_io_FileIO_readall_impl (fileio * self )
736
- /*[clinic end generated code: output=faa0292b213b4022 input=dbdc137f55602834 ]*/
739
+ /*[clinic end generated code: output=faa0292b213b4022 input=1e19849857f5d0a1 ]*/
737
740
{
738
741
Py_off_t pos , end ;
739
742
PyObject * result ;
@@ -848,14 +851,19 @@ _io.FileIO.read
848
851
849
852
Read at most size bytes, returned as bytes.
850
853
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.
854
862
[clinic start generated code]*/
855
863
856
864
static PyObject *
857
865
_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 ]*/
859
867
{
860
868
char * ptr ;
861
869
Py_ssize_t n ;
0 commit comments