| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
isEnabledFor (GH-17689) (GH-17898)
(cherry picked from commit 950c6795aa0ffa85e103a13e7a04e08cb34c66ad)
|
| |
|
|
|
| |
(GH-17773) (GH-17786)
(cherry picked from commit 46abfc1416ff8e450999611ef8f231ff871ab133)
|
| |
|
| |
(cherry picked from commit 1d094af716e8ce5e5710e1dfbce7832ba333be55)
|
| |
|
|
|
|
|
|
|
|
| |
Fixed QueueListener in order to avoid random deadlocks.
Unable to add regression tests atm due to time constraints, will add it in a bit.
Regarding implementation, although it's nested, it does not cause performance issues whatsoever, and does not call task_done() in case of an exception (which is the right thing to do IMHO).
https://bugs.python.org/issue36813
(cherry picked from commit 6b282e18877ec84e927b381b4ce187eaf4ba3dd7)
Co-authored-by: Bar Harel <bzvi7919@gmail.com>
|
| |
|
|
|
|
|
| |
(GH-11908) (GH-13183)
(cherry picked from commit ca87eebb22d202c33f3317cbf85059cadc64fa9f)
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
|
| |
|
|
|
|
|
|
| |
Instead of attempting to acquire and release them all across fork
which was leading to deadlocks in some applications that had chained
their own handlers while holding multiple locks.
(cherry picked from commit 64aa6d2000665efb1a2eccae176df9520bf5f5e6)
Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google LLC]
|
| |
|
|
|
|
|
|
| |
handlers (GH-11537) (GH-12716)
QueueHandler.prepare() now makes a copy of the record before modifying and enqueueing it, to avoid affecting other handlers in the chain.
(cherry picked from commit da6424e96ada72c15c91bddb0a411acf7119e10a)
Co-authored-by: Manjusaka <lizheao940510@gmail.com>
|
| |
|
|
|
| |
(cherry picked from commit 65f64b1903ae85b97a30f514bbc1b7ce940c3af2)
Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
|
| |
|
|
|
| |
(GH-10042) (GH-10050)
(cherry picked from commit b7d62050e7d5fc208ae7673613da4f1f2bc565c4)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
bpo-6721: When os.fork() was called while another thread holds a logging lock, the child process may deadlock when it tries to log. This fixes that by acquiring all logging locks before fork and releasing them afterwards.
A regression test that fails before this change is included.
Within the new unittest itself: There is a small _potential_ due to mixing of fork and a thread in the child process if the parent's thread happened to hold a non-reentrant library call lock (malloc?) when the os.fork() happens. buildbots and time will tell if this actually manifests itself in this test or not. :/ A functionality test that avoids that would be a challenge.
An alternate test that isn't trying to produce the deadlock itself but just checking that the release and acquire calls are made would be the next best alternative if so.
(cherry picked from commit 19003841e965bbf56fd06824d6093620c1b66f9e)
Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
|
| |
|
|
|
| |
(cherry picked from commit d345bb4d9b6e16c681cd8a4e1fff94ecd6b0bb09)
Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
|
| |
|
|
| |
(cherry picked from commit d3d3171da895d8cb880f23fae6be778f0ac23be7)
|
| |
|
|
|
|
|
| |
(GH-8008) (GH-8044)
(cherry picked from commit 087570af6d5d39b51bdd5e660a53903960e58678)
Co-authored-by: Xtreak <tirkarthi@users.noreply.github.com>
|
| |
|
|
|
|
|
| |
8601. (GH-6702) (GH-6704)
(cherry picked from commit c4994dc00d9828a99510f3851da93b0e1c18361d)
Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
|
| |
|
|
|
|
|
| |
(GH-2624)
(cherry picked from commit 3f2e6f15d64d81633b1fc0b308afc0d6e9026b61)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
| | |
|
| | |
|
| |
|
| |
TimedRotatingFileHandler.getFilesToDelete() now sorts only when needed.
|
| |
|
|
|
|
|
|
|
|
|
| |
This used to be the case on Python 2. Commit
212b590e118e3650b596917021ed9612a918180b changed the implementation for Python
3, making the `log()` method of LogAdapter call `logger._log()` directly. This
makes nested log adapters not execute their ``process()`` method. This patch
fixes the issue.
Also, now proxying `name`, too, to make `repr()` work with nested log adapters.
New tests added.
|
| |
|
|
| |
Due to a bug in the initial fix, the setter was in fact creating a different
property. This is now fixed.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
| |
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
|
| |
|
|
| |
kwargs. (GH-2979)
|
| | |
|
| | |
|
| |
|
|
| |
stream. (GH-2921)
|
| | |
|
| |
|
| |
Implemented pickling for loggers.
|
| |
|
|
| |
(#1676)
|
| |
|
|
|
|
|
|
| |
* Replaced list(<generator expression>) with list comprehension
* Replaced dict(<generator expression>) with dict comprehension
* Replaced set(<list literal>) with set literal
* Replaced builtin func(<list comprehension>) with func(<generator
expression>) when supported (e.g. any(), all(), tuple(), min(), &
max())
|
| |
|
|
| |
collections. (#1263)
|
| |
|
|
| |
(#663) (#663)
|
| |\ |
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| |\ \
| |/ |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| |/ |
|
| | | |
|