Skip to content

Commit 4161242

Browse files
authored
Merge branch 'main' into gh-1288440-try-incref
2 parents 4a87acb + 7dd0a7e commit 4161242

21 files changed

+261
-92
lines changed

Doc/library/errno.rst

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,171 @@ defined by the module. The specific list of defined symbols is available as
672672

673673
.. versionadded:: 3.11
674674

675+
676+
.. data:: ENOMEDIUM
677+
678+
No medium found
679+
680+
681+
.. data:: EMEDIUMTYPE
682+
683+
Wrong medium type
684+
685+
686+
.. data:: ENOKEY
687+
688+
Required key not available
689+
690+
691+
.. data:: EKEYEXPIRED
692+
693+
Key has expired
694+
695+
696+
.. data:: EKEYREVOKED
697+
698+
Key has been revoked
699+
700+
701+
.. data:: EKEYREJECTED
702+
703+
Key was rejected by service
704+
705+
706+
.. data:: ERFKILL
707+
708+
Operation not possible due to RF-kill
709+
710+
711+
.. data:: ELOCKUNMAPPED
712+
713+
Locked lock was unmapped
714+
715+
716+
.. data:: ENOTACTIVE
717+
718+
Facility is not active
719+
720+
721+
.. data:: EAUTH
722+
723+
Authentication error
724+
725+
.. versionadded:: 3.2
726+
727+
728+
.. data:: EBADARCH
729+
730+
Bad CPU type in executable
731+
732+
.. versionadded:: 3.2
733+
734+
735+
.. data:: EBADEXEC
736+
737+
Bad executable (or shared library)
738+
739+
.. versionadded:: 3.2
740+
741+
742+
.. data:: EBADMACHO
743+
744+
Malformed Mach-o file
745+
746+
.. versionadded:: 3.2
747+
748+
749+
.. data:: EDEVERR
750+
751+
Device error
752+
753+
.. versionadded:: 3.2
754+
755+
756+
.. data:: EFTYPE
757+
758+
Inappropriate file type or format
759+
760+
.. versionadded:: 3.2
761+
762+
763+
.. data:: ENEEDAUTH
764+
765+
Need authenticator
766+
767+
.. versionadded:: 3.2
768+
769+
770+
.. data:: ENOATTR
771+
772+
Attribute not found
773+
774+
.. versionadded:: 3.2
775+
776+
777+
.. data:: ENOPOLICY
778+
779+
Policy not found
780+
781+
.. versionadded:: 3.2
782+
783+
784+
.. data:: EPROCLIM
785+
786+
Too many processes
787+
788+
.. versionadded:: 3.2
789+
790+
791+
.. data:: EPROCUNAVAIL
792+
793+
Bad procedure for program
794+
795+
.. versionadded:: 3.2
796+
797+
798+
.. data:: EPROGMISMATCH
799+
800+
Program version wrong
801+
802+
.. versionadded:: 3.2
803+
804+
805+
.. data:: EPROGUNAVAIL
806+
807+
RPC prog. not avail
808+
809+
.. versionadded:: 3.2
810+
811+
812+
.. data:: EPWROFF
813+
814+
Device power is off
815+
816+
.. versionadded:: 3.2
817+
818+
819+
.. data:: EBADRPC
820+
821+
RPC struct is bad
822+
823+
.. versionadded:: 3.2
824+
825+
826+
.. data:: ERPCMISMATCH
827+
828+
RPC version wrong
829+
830+
.. versionadded:: 3.2
831+
832+
833+
.. data:: ESHLIBVERS
834+
835+
Shared library version mismatch
836+
837+
.. versionadded:: 3.2
838+
839+
675840
.. data:: ENOTCAPABLE
676841

677842
Capabilities insufficient. This error is mapped to the exception

Include/internal/pycore_frame.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,11 @@ typedef struct _PyInterpreterFrame {
6969
PyObject *f_locals; /* Strong reference, may be NULL. Only valid if not on C stack */
7070
PyFrameObject *frame_obj; /* Strong reference, may be NULL. Only valid if not on C stack */
7171
_Py_CODEUNIT *instr_ptr; /* Instruction currently executing (or about to begin) */
72+
_PyStackRef *stackpointer;
7273
#ifdef Py_GIL_DISABLED
7374
/* Index of thread-local bytecode containing instr_ptr. */
7475
int32_t tlbc_index;
7576
#endif
76-
_PyStackRef *stackpointer;
7777
uint16_t return_offset; /* Only relevant during a function call */
7878
char owner;
7979
#ifdef Py_DEBUG

Lib/_pyio.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1692,13 +1692,14 @@ def readall(self):
16921692

16931693
return bytes(result)
16941694

1695-
def readinto(self, b):
1695+
def readinto(self, buffer):
16961696
"""Same as RawIOBase.readinto()."""
1697-
m = memoryview(b).cast('B')
1698-
data = self.read(len(m))
1699-
n = len(data)
1700-
m[:n] = data
1701-
return n
1697+
self._checkClosed()
1698+
self._checkReadable()
1699+
try:
1700+
return os.readinto(self._fd, buffer)
1701+
except BlockingIOError:
1702+
return None
17021703

17031704
def write(self, b):
17041705
"""Write bytes b to file, return number written.

Lib/http/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ class HTTPMethod:
190190
191191
Methods from the following RFCs are all observed:
192192
193-
* RFF 9110: HTTP Semantics, obsoletes 7231, which obsoleted 2616
193+
* RFC 9110: HTTP Semantics, obsoletes 7231, which obsoleted 2616
194194
* RFC 5789: PATCH Method for HTTP
195195
"""
196196
def __new__(cls, value, description):

Lib/http/client.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ def read(self, amt=None):
472472
if self.chunked:
473473
return self._read_chunked(amt)
474474

475-
if amt is not None:
475+
if amt is not None and amt >= 0:
476476
if self.length is not None and amt > self.length:
477477
# clip the read to the "end of response"
478478
amt = self.length
@@ -590,6 +590,8 @@ def _get_chunk_left(self):
590590

591591
def _read_chunked(self, amt=None):
592592
assert self.chunked != _UNKNOWN
593+
if amt is not None and amt < 0:
594+
amt = None
593595
value = []
594596
try:
595597
while (chunk_left := self._get_chunk_left()) is not None:

0 commit comments

Comments
 (0)