| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change PyAPI_FUNC(type), PyAPI_DATA(type) and PyMODINIT_FUNC macros
of pyport.h when Py_BUILD_CORE_MODULE is defined.
The Py_BUILD_CORE_MODULE define must be now be used to build a C
extension as a dynamic library accessing Python internals: export the
PyInit_xxx() function in DLL exports on Windows.
Changes:
* Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE now imply
Py_BUILD_CORE directy in pyport.h.
* ceval.c compilation now fails with an error if Py_BUILD_CORE is not
defined, just to ensure that Python is build with the correct
defines.
* setup.py now compiles _pickle.c with Py_BUILD_CORE_MODULE define.
* setup.py compiles _json.c with Py_BUILD_CORE_MODULE define, rather
than Py_BUILD_CORE_BUILTIN define
* PCbuild/pythoncore.vcxproj: Add Py_BUILD_CORE_BUILTIN define.
|
|
|
|
|
|
|
| |
Fix Python Initialization code on FreeBSD to detect properly when
stdin file descriptor (fd 0) is invalid.
On FreeBSD, fstat() must be used to check if stdin (fd 0) is valid.
dup(0) doesn't fail if stdin is invalid in some cases.
|
| |
|
|
|
| |
Skip tests cases setting RLIMIT_FSIZE and RLIMIT_CPU on VxWorks.
|
|
|
| |
subprocess.Popen doesn't support preexec on VxWorks.
|
|
|
| |
Document the change in a NEWS entry of the Security category.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
shutil.which() and distutils.spawn.find_executable() now use
os.confstr("CS_PATH") if available instead of os.defpath, if the PATH
environment variable is not set.
Don't use os.confstr("CS_PATH") nor os.defpath if the PATH
environment variable is set to an empty string to mimick Unix 'which'
command behavior.
Changes:
* find_executable() now starts by checking for the executable in the
current working directly case. Add an explicit
"if not path: return None".
* Add tests for PATH='' (empty string), PATH=':' and for PATHEXT.
|
| |
|
|
|
|
| |
Fix test_tabnanny on VxWorks: adjust ENOENT error message,
use os.strerror().
|
| |
|
|
|
| |
It reduces "data" segment in python about 200KB.
|
|
|
|
| |
Signed-off-by: Matthias Bussonnier <bussonniermatthias@gmail.com>
|
| |
|
|
|
|
| |
Use literalinclude markup to include Tools/scripts/serve.py code.
Tools/scripts/serve.py first argument on the command line is now optional.
|
|
|
|
|
|
|
| |
IPv4Interface and IPv6Interface did not has netmask and hostmask
attributes when its argument is bytes or int.
This commit extracts method for constructors of Network and Interface,
and ensure Interface class always provides them.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The imap.IMAP4.logout() method no longer ignores silently arbitrary
exceptions.
Changes:
* The IMAP4.logout() method now expects a "BYE" untagged response,
rather than relying on _check_bye() which raises a self.abort()
exception.
* IMAP4.__exit__() now does nothing if the client already logged out.
* Add more debug info if test_logout() tests fail.
|
|
|
|
| |
Don't assign generations[2].threshold to generations[2].threshold:
useless operation.
|
| |
|
|
|
|
| |
Move unstable CPython API from Include/pymem.h into a new
Include/cpython/pymem.h header file.
|
|
|
|
|
|
| |
Keep the nudge towards DeprecationWarning, but remove the
"Note" markup and generally shorten the description.
Ref: https://github.com/python/cpython/pull/12505/files#r273978757
|
|
|
|
|
| |
(GH-12822)
Remove left-over references to Python 3.0 as the future in Fraction class docstrings.
|
|
|
|
| |
Fix test_imap4_host_default_value() of test_imaplib: catch also
errno.ENETUNREACH error.
|
|
|
| |
time.clock() is not available on VxWorks.
|
| |
|
|
|
|
| |
* cached_property is more efficient than hand crafted cache.
* In IPv[46]Network, `self.network.prefixlen` is same to `self._prefixlen`.
|
|
|
|
| |
they might actually be harmless and unused (and thus went undetected previously). (#12830)
|
| |
|
| |
|
|
|
|
| |
as prefix (#1823)
|
|
|
|
|
| |
arguments (GH-12225)
Add new keyword arguments "default_namespace" and "xml_declaration" to functions ET.tostring() and ET.tostringlist(), as known from ElementTree.write().
|
|
|
|
|
| |
tracing (GH-12790)
In Python having a trace function in effect while mock is imported causes isinstance to be wrong for MagicMocks. This is due to the usage of super() in some class methods, as this sets the __class__ attribute. To avoid this, as a workaround, alias the usage of super .
|
|
|
|
|
|
|
|
| |
terminate the calling thread (GH-12541)
Calling these function from a thread when the runtime is finalizing will terminate
the thread, even if the thread was not created by Python. Users can use
_Py_IsFinalizing or sys.is_finalizing to check if the interpreter is in the process of
being finalized before calling this function to avoid unwanted termination.
|
| |
|
|
|
| |
After the removal of pgen, multiple header and function prototypes that lack implementation or are unused are still lying around.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
(GH-7849)
Since bpo-30291 it is possible to specify the architecture of Python when using the launcher
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Omit serialno field from debug hooks on Python memory allocators to
reduce the memory footprint by 5%.
Enable tracemalloc to get the traceback where a memory block has been
allocated when a fatal memory error is logged to decide where to put
a breakpoint.
Compile Python with PYMEM_DEBUG_SERIALNO defined to get back the
field.
|
|
|
|
|
|
| |
Add a new _PyObject_CheckConsistency() function which can be used to
help debugging. The function is available in release mode.
Add a 'check_content' parameter to _PyDict_CheckConsistency().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add -fmax-type-align=8 to CFLAGS when clang compiler is detected.
The pymalloc memory allocator aligns memory on 8 bytes. On x86-64,
clang expects alignment on 16 bytes by default and so uses MOVAPS
instruction which can lead to segmentation fault. Instruct clang that
Python is limited to alignemnt on 8 bytes to use MOVUPS instruction
instead: slower but don't trigger a SIGSEGV if the memory is not
aligned on 16 bytes.
Sadly, the flag must be expected to CFLAGS and not just
CFLAGS_NODIST, since third party C extensions can have the same
issue.
|
| |
|
|
|
| |
This enables using the `--preset-iot` option with the PC/layout script, but does not enable IoT builds as part of any normal release.
|
| |
|
|
|
|
|
| |
_Py_AddPendingCall()." (gh-12806)
This reverts commit f13c5c8b9401a9dc19e95d8b420ee100ac022208 (gh-12360).
|
| |
|
|
|
|
|
|
|
| |
For BufferedReader and BufferedWriter, seek and tell operations are
optional (they may or may not exist based on the underlying stream). For
BufferedRandom, they are mandatory: a BufferedRandom should not be
constructed over an unseekable underlying stream. Document this.
|