| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
stdout output (GH-115568)
|
| |
|
| |
|
|
|
|
| |
'symtable_extend_namedexpr_scope' (GH-96561)
|
|
|
|
| |
Since 2f3941d743481ac48628b8b2c075f2b82762050b this function returns the
response string, rather than nothing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(GH-99709)
lseek() always returns 0 for character pseudo-devices like
`/dev/urandom` (for other non-regular files, e.g. `/dev/stdin`, it
always returns -1, to which CPython reacts by raising appropriate
exceptions). They are thus technically seekable despite not having seek
semantics.
When calling read() on e.g. an instance of `io.BufferedReader` that
wraps such a file, `BufferedReader` reads ahead, filling its buffer,
creating a discrepancy between the number of bytes read and the internal
`tell()` always returning 0, which previously resulted in e.g.
`BufferedReader.tell()` or `BufferedReader.seek()` being able to return
positions < 0 even though these are supposed to be always >= 0.
Invariably keep the return value non-negative by returning
max(former_return_value, 0) instead, and add some corresponding tests.
|
|
|
|
| |
function (GH-101062)
|
| |
|
|
|
|
|
| |
ListSeparator should not be encoded. This could happen when a long line
pushes its separator to the next line, which would have been encoded.
|
|
|
|
|
|
| |
Update _get_hostport to always remove square brackets
from IPv6 addresses. Then add them if needed
in "CONNECT .." and "Host: ".
|
|
|
|
| |
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
|
| |
|
|
|
|
| |
on WSL (GH-101419)
|
|
|
|
|
|
|
| |
Update documentation for re library to explain that a backreference `\g<0>` is
expanded to the entire string when using Match.expand().
Note that numeric backreferences to group 0 (`\0`) are not supported.
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
|
|
|
| |
Also include the UDP packet header sizes (8 bytes per packet)
in the buffer size reported to the flow control subsystem.
|
|
|
|
| |
(gh-115546)
|
|
|
| |
Add glossary term references to shutil docs
|
|
|
|
|
|
| |
(GH-21471)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
|
|
|
|
|
| |
This adds a safe memory reclamation scheme based on FreeBSD's "GUS" and
quiescent state based reclamation (QSBR). The API provides a mechanism
for callers to detect when it is safe to free memory that may be
concurrently accessed by readers.
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#115557)
This change essentially replaces usage of `%1` with `%~1`, which removes
quotes, if any. Without this change, the if statements fail due to
the quotes mangling the syntax.
Additionally, this change works around comma being treated as a parameter
delimiter in test.bat by escaping commas at time of parsing. Tested
combinations of rt and regrtest arguments, all seems to work as before
but now you can specify commas in arguments like "-uall,extralargefile".
|
|
|
|
| |
resolution (#115564)
|
|
|
|
|
|
|
|
|
| |
The ID of the owning thread (`rlock_owner`) may be accessed by
multiple threads without holding the underlying lock; relaxed
atomics are used in place of the previous loads/stores.
The number of times that the lock has been acquired (`rlock_count`)
is only ever accessed by the thread that holds the lock; we do not
need to use atomics to access it.
|
|
|
| |
Co-authored-by: Ken Jin <kenjin@python.org>
|
| |
|
|
|
| |
Fixes a compiler warning.
|
|
|
|
|
|
|
|
|
|
| |
The GC keeps track of the number of allocations (less deallocations)
since the last GC. This buffers the count in thread-local state and uses
atomic operations to modify the per-interpreter count. The thread-local
buffering avoids contention on shared state.
A consequence is that the GC scheduling is not as precise, so
"test_sneaky_frame_object" is skipped because it requires that the GC be
run exactly after allocating a frame object.
|
| |
|
|
|
|
|
|
| |
(#115560)
Include/objimpl.h must only contain the limited C API, whereas
PyUnstable_GC_VisitObjects() is excluded from the limited C API.
|
|
|
|
| |
generated (#115551)
|
|
|
|
|
|
| |
(GH-104590)
Co-authored-by: Chiu-Hsiang Hsu
|
|
|
|
| |
(#115520)
|
| |
|
| |
|
|
|
| |
Move type-lock to per-interpreter lock to avoid heavy contention in interpreters test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gh-114572: Fix locking in cert_store_stats and get_ca_certs
cert_store_stats and get_ca_certs query the SSLContext's X509_STORE with
X509_STORE_get0_objects, but reading the result requires a lock. See
https://github.com/openssl/openssl/pull/23224 for details.
Instead, use X509_STORE_get1_objects, newly added in that PR.
X509_STORE_get1_objects does not exist in current OpenSSLs, but we can
polyfill it with X509_STORE_lock and X509_STORE_unlock.
* Work around const-correctness problem
* Add missing X509_STORE_get1_objects failure check
* Add blurb
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Makes _PyType_Lookup thread safe, including:
Thread safety of the underlying cache.
Make mutation of mro and type members thread safe
Also _PyType_GetMRO and _PyType_GetBases are currently returning borrowed references which aren't safe.
|
| |
| |
| |
| |
| | |
self converter (#115522)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
|
| | |
|
| | |
|
| |
| |
| |
| | |
_testinternalcapi.optimize_cfg. (#115425)
|
| |
| |
| |
| | |
(#115379)
|
| |
| |
| |
| | |
Replace assert() with _PyObject_ASSERT() in gc.c to dump the object
when an assertion fails.
|
| | |
|
| |
| |
| |
| |
| |
| | |
This adds `Py_XBEGIN_CRITICAL_SECTION` and
`Py_XEND_CRITICAL_SECTION`, which accept a possibly NULL object as an
argument. If the argument is NULL, then nothing is locked or unlocked.
Otherwise, they behave like `Py_BEGIN/END_CRITICAL_SECTION`.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
unloading (#115515)
Work around test.support.interpreters.channels not handling unloading, which
regrtest does when running tests sequentially, by explicitly skipping the
unloading of test.support.interpreters and its submodules.
This can be rolled back once test.support.interpreters.channels supports
unloading, if we are keeping sequential runs in the same process around.
|