| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Call the .join() method of threading.Timer timers to prevent the
"threading_cleanup() failed to cleanup 1 threads" warning.
|
| |
|
|
|
|
|
|
|
| |
* Add Py_UNREACHABLE() as an alias to abort().
* Use Py_UNREACHABLE() instead of assert(0)
* Convert more unreachable code to use Py_UNREACHABLE()
* Document Py_UNREACHABLE() and a few other macros.
|
|
|
| |
Enabled by default was a temporary expedient. The fix is to add a user override to enable.
|
|
|
|
| |
New -n flag allow overriding localhost with custom value,
for example to run from containers.
|
|
|
|
|
|
| |
Fix Coverity CID 1417587: _PyMem_Initialize() contains code which is
never executed.
Replace the runtime check with a build assertion.
|
|
|
|
| |
join_thread() joins a thread but raises an AssertionError if the
thread is still alive after timeout seconds.
|
|
|
| |
Call thread.join() to prevent the "dangling thread" warning.
|
|
|
|
| |
Use _thread.count() to wait until threads exit. The new context
manager prevents the "dangling thread" warning.
|
|
|
| |
Call thread.join() to prevent the "dangling thread" warning.
|
|
|
|
|
|
| |
* Avoid calling "PyObject_GetAttrString()" (and potentially executing user code) with a live exception set.
* Ignore only AttributeError on attribute lookups in ElementTree.XMLParser() and propagate all other exceptions.
|
|
|
|
| |
env has a bad keys() method. (#3580)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#3582)
This makes the default behavior (without specifying `globalns` manually) more
predictable for users, finds the right globalns automatically.
Implementation for classes assumes has a `__module__` attribute and that module
is present in `sys.modules`. It does this recursively for all bases in the
MRO. For modules, the implementation just uses their `__dict__` directly.
This is backwards compatible, will just raise fewer exceptions in naive user
code.
Originally implemented and reviewed at https://github.com/python/typing/pull/470.
|
|
|
|
|
| |
A bunch of code currently uses PyInterpreterState.modules directly instead of PyImport_GetModuleDict(). This complicates efforts to make changes relative to sys.modules. This patch switches to using PyImport_GetModuleDict() uniformly. Also, a number of related uses of sys.modules are updated for uniformity for the same reason.
Note that this code was already reviewed and merged as part of #1638. I reverted that and am now splitting it up into more focused parts.
|
|
|
|
|
|
|
|
|
|
| |
* bpo-31234: Join threads in test_hashlib
Use thread.join() to wait until the parallel hash tasks complete
rather than using events. Calling thread.join() prevent "dangling
thread" warnings.
* test_hashlib: minor PEP 8 coding style fixes
|
|
|
|
| |
Call thread.join() on threads to prevent the "dangling threads"
warning.
|
|
|
|
|
|
| |
Some of the proxied methods use internal Logger state which isn't proxied,
causing failures if an adapter is applied to another adapter.
This commit fixes the issue, adds a new test for the use case.
|
|
|
|
|
|
|
| |
Cast Py_buffer.len (Py_ssize_t, signed) to size_t (unsigned) to
prevent the following warning:
Modules/_ssl.c:3089:21: warning: comparison between signed and
unsigned integer expressions [-Wsign-compare]
|
|
|
|
|
| |
Resolves bpo-31420.
(This was accidentally reverted when in #3565.)
|
|
|
| |
PR #1638, for bpo-28411, causes problems in some (very) edge cases. Until that gets sorted out, we're reverting the merge. PR #3506, a fix on top of #1638, is also getting reverted.
|
| |
|
|
|
|
|
| |
The `blake2b` function does not take the `data` keyword argument.
The hex digest returned by sign was a string, whereas compare_digest expects bytes-like objects.
Typo fix: compare_digesty -> compare_digest
|
| |
|
|
|
|
| |
Update the link from Misc/NEWS to Misc/NEWS.d
|
|
|
|
|
|
|
| |
Try to fix the "Warning -- threading_cleanup() failed to cleanup 1
threads" warning in test.lock_tests: wait a little bit longer to give
time to the threads to complete.
Warning seen on test_thread and test_importlib.
|
|
|
|
| |
* Copy changes to typing from upstream repo
* Add NEWS entry
|
|
|
|
| |
exception with a bad __module__ attribute. (#3539)
|
|
|
|
|
|
| |
support.threading_cleanup() waits for 1 second before emitting a
warning if there are threads running in the background. With this
change, it now emits the warning immediately, to be able to catch
bugs more easily.
|
|
|
| |
Explicitly state that communicate() closes stdin after writing input to it.
|
| |
|
|
|
| |
Clear also self.server_thread attribute in TestTimeouts.tearDown().
|
|
|
| |
Call POP3.close(), don't close close directly the sock attribute.
|
| |
|
|
|
|
| |
Explicitly clear the server attribute in test_ftplib and test_poplib
to prevent dangling thread.
|
|
|
|
|
|
|
|
|
| |
socketserver.ThreadingMixIn now keeps a list of non-daemonic threads
to wait until all these threads complete in server_close().
Reenable test_logging skipped tests.
Fix SocketHandlerTest.tearDown(): close the socket handler before
stopping the server, so the server can join threads.
|
|
|
|
|
|
|
|
|
|
| |
The ConfigSocketReceiver.serve_until_stopped() method from
logging.config.listen() now calls server_close() (of
socketserver.ThreadingTCPServer) rather than closing manually the
socket.
While this change has no effect yet, it will help to prevent dangling
threads once ThreadingTCPServer.server_close() will join spawned
threads (bpo-31233).
|
| |
|
|
|
| |
The last commit contained lines longer than 80 characters.
|
|
|
|
| |
Make it clear that Ellipsis tokens also have type attribute set to token.OP.
|
|
|
|
| |
ProcessPoolShutdownTest.test_del_shutdown() now closes the call queue
and joins its thread, to prevent leaking a dangling thread.
|
|
|
|
|
|
|
|
|
|
|
| |
* test_thread.test_forkinthread() now waits until the thread completes.
* Check the status in the test method, not in the thread function
* Don't ignore RuntimeError anymore: since the commit
346cbd351ee0dd3ab9cb9f0e4cb625556707877e (bpo-16500,
os.register_at_fork(), os.fork() cannot fail anymore with
RuntimeError.
* Replace 0.01 literal with a new POLL_SLEEP constant
* test_forkinthread(): test if os.fork() exists rather than testing
the platform.
|
|
|
|
| |
ElementTree.Element.__deepcopy__() isn't a dictionary. (#3512)
|
|
|
|
| |
IDLE calls tcl/tk update in the background in order to make live
interaction and experimentatin with tkinter applications much easier.
|
|
|
|
| |
As needed for the conversion of extensions to features.
|
|
|
| |
PR #3397 introduced a large number of warnings to the Windows build. This patch fixes them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Drop warnoptions from PyInterpreterState.
* Drop xoptions from PyInterpreterState.
* Don't set warnoptions and _xoptions again.
* Decref after adding to sys.__dict__.
* Drop an unused macro.
* Check sys.xoptions *before* we delete it.
|
|
|
| |
This fixes bpo-31407.
|
|
|
|
|
| |
warnings.defaultaction. (#3496)
Patch by Oren Milman.
|
| |
|
|
|
|
|
| |
Adding to an int entry is not the same as deleting and inserting
because int('') will fail.
|