| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Explicitly initialize struct members rather than relying on compiler extensions.
|
|
|
|
|
|
|
|
|
| |
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals
Other globals are excluded (see globals.txt and check-c-globals.py).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* call remove_done_callback in finally section
* Optimize get_event_loop and _get_running_loop
* rename _loop_pid as loop_pid and add blurb news
* rename _loop_pid as loop_pid and add blurb news
* add back _RunningLoop
* Update 2017-09-05-10-30-48.bpo-31350.dXJ-7N.rst
* Update 2017-09-05-10-30-48.bpo-31350.dXJ-7N.rst
|
|
|
|
|
|
|
| |
In case PROTOCOL_TLS_SERVER is used for both client context and server
context, the test thread dies with OSError. Catch OSError to avoid
traceback on sys.stderr
Signed-off-by: Christian Heimes <christian@python.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fixed OrderedDict.__init__ docstring re PEP 468
* tightened comment and mirrored to C impl
* added space after period per marco-buttu
* preserved substituted for stable
* drop references to Python 3.6 and PEP 468
|
|
|
|
|
|
| |
_PyUnicode_FromId() can return NULL: replace Py_INCREF() with
Py_XINCREF().
Fix coverity report: CID 1417269.
|
| |
|
|
|
|
| |
faster (#3338)
|
|
|
|
|
|
| |
Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray
plans to remove the functions from sys/types.h.
Signed-off-by: Christian Heimes <christian@python.org>
|
|
|
|
|
|
|
|
| |
The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on
OpenSSL < 1.1.0. The function detects CPU features and enables optimizations
on some CPU architectures such as POWER8. Patch is based on research from
Gustavo Serra Scalet.
Signed-off-by: Christian Heimes <christian@python.org>
|
| |
|
| |
|
| |
|
|
|
|
|
| |
be null (#3329)
Passing NULL as the second argument to to memcpy is undefined behavior even if the size is 0.
|
|
|
|
|
| |
exit. (#1908)" (#3337)
This reverts commit e38d12ed34870c140016bef1e0ff10c8c3d3f213.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#1908)
* Maintain a list of BufferedWriter objects. Flush them on exit.
In Python 3, the buffer and the underlying file object are separate
and so the order in which objects are finalized matters. This is
unlike Python 2 where the file and buffer were a single object and
finalization was done for both at the same time. In Python 3, if
the file is finalized and closed before the buffer then the data in
the buffer is lost.
This change adds a doubly linked list of open file buffers. An atexit
hook ensures they are flushed before proceeding with interpreter
shutdown. This is addition does not remove the need to properly close
files as there are other reasons why buffered data could get lost during
finalization.
Initial patch by Armin Rigo.
* Use weakref.WeakSet instead of WeakKeyDictionary.
* Simplify buffered double-linked list types.
* In _flush_all_writers(), suppress errors from flush().
* Remove NEWS entry, use blurb.
|
|
|
|
|
|
| |
* Fix terminology in comment and add more design rationale.
* Fix extra space
|
|
|
| |
In Python 3.6, sorted() was removed from _make_key() for the lru_cache and instead rely on guaranteed keyword argument order preservation. This makes keyword argument handling faster but it also causes multiple callers with a different keyword argument order to be cached as separate items. Depending on your point of view, this is either a performance regression (increased number of cache misses) or a performance enhancement (faster computation of keys).
|
|
|
|
|
|
|
|
|
| |
* bpo-31170: Update libexpat from 2.2.3 to 2.2.4
Fix copying of partial characters for UTF-8 input (libexpat bug 115):
https://github.com/libexpat/libexpat/issues/115
* Add NEWS entry.
|
|
|
| |
sys.modules is the one true source.
|
| |
|
| |
|
|
|
| |
See PEP 11.
|
| |
|
|
|
| |
Broken in GH-2079
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Change NPN detection:
Version breakdown, support disabled (pre-patch/post-patch):
- pre-1.0.1: OPENSSL_NPN_NEGOTIATED will not be defined -> False/False
- 1.0.1 and 1.0.2: OPENSSL_NPN_NEGOTIATED will not be defined ->
False/False
- 1.1.0+: OPENSSL_NPN_NEGOTIATED will be defined and
OPENSSL_NO_NEXTPROTONEG will be defined -> True/False
Version breakdown support enabled (pre-patch/post-patch):
- pre-1.0.1: OPENSSL_NPN_NEGOTIATED will not be defined -> False/False
- 1.0.1 and 1.0.2: OPENSSL_NPN_NEGOTIATED will be defined and
OPENSSL_NO_NEXTPROTONEG will not be defined -> True/True
- 1.1.0+: OPENSSL_NPN_NEGOTIATED will be defined and
OPENSSL_NO_NEXTPROTONEG will not be defined -> True/True
* Refine NPN guard:
- If NPN is disabled, but ALPN is available we need our callback
- Make clinic's ssl behave the same way
This created a working ssl module for me, with NPN disabled and ALPN
enabled for OpenSSL 1.1.0f.
Concerns to address:
The initial commit for NPN support into OpenSSL [1], had the
OPENSSL_NPN_* variables defined inside the OPENSSL_NO_NEXTPROTONEG
guard. The question is if that ever made it into a release.
This would need an ugly hack, something like:
#if defined(OPENSSL_NO_NEXTPROTONEG) && \
!defined(OPENSSL_NPN_NEGOTIATED)
# define OPENSSL_NPN_UNSUPPORTED 0
# define OPENSSL_NPN_NEGOTIATED 1
# define OPENSSL_NPN_NO_OVERLAP 2
#endif
[1] https://github.com/openssl/openssl/commit/68b33cc5c7
|
| |
|
| |
|
| |
|
|
|
| |
This comment hasn't been true since Python 3.0.
|
|
|
|
|
|
|
|
| |
* bpo-1198569: Allow the braced pattern to be different
``string.Template`` subclasses can optionally define ``braceidpattern`` if
they want to specify different placeholder patterns inside and outside the
braces. If None (the default) it falls back to ``idpattern``.
|
|
|
| |
Blurbify master branch.
|
|
|
| |
Signed-off-by: Christian Heimes <christian@python.org>
|
|
|
|
| |
Patch by Paul.j3. Includes an unrelated but useful addition to the
optparse porting section.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* Change code owners for hashlib and ssl to the crypto team
* Include the core CSPRNG for the crypto-team
|
|
|
| |
Fix fileinput with inplace=True to accept pathlib.Path objects.
|
|
|
| |
We never actually check HAVE_SELECT.
|
|
|
| |
This is a required feature is C99, which we require.
|
| |
|
|
|
| |
Used in macOS framework builds.
|
| |
|