Title: bpo-6721: Sanitize logging locks while forking by gpshead · Pull Request #4071 · python/cpython · GitHub
Open Graph Title: bpo-6721: Sanitize logging locks while forking by gpshead · Pull Request #4071 · python/cpython
X Title: bpo-6721: Sanitize logging locks while forking by gpshead · Pull Request #4071 · python/cpython
Description: This part is simple, acquire and release the logging lock and each logging handler's lock around fork. A unittest is still needed (relatively trivial to create). The logging.handlers module has a QueueHandler and QueueListener which uses the queue module... that is full of locks. I'm not addressing that as I don't see an immediately obvious correct thing to do with that queue. A QueueListener thread won't be running in the forked child anyways so the right thing for anyone using one of those is likely to remove the QueueHandler from their logging config entirely... unless they go on to re-establish their complicated queue based logging handler setup in the child. suggestion: Do nothing. Let people using QueueHandler deal with their own problems as their application sees fit. https://bugs.python.org/issue6721
Open Graph Description: This part is simple, acquire and release the logging lock and each logging handler's lock around fork. A unittest is still needed (relatively trivial to create). The logging.handlers module has...
X Description: This part is simple, acquire and release the logging lock and each logging handler's lock around fork. A unittest is still needed (relatively trivial to create). The logging.handlers module...
Opengraph URL: https://github.com/python/cpython/pull/4071
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:677b7b57-24de-8af4-653a-c4179fd8e94c |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | C1DC:27B1FA:5C4BAC:7A0260:696B4410 |
| html-safe-nonce | bba8d008a0c2cfee1587ec59dc3edd549ca6a7ac7a58fb8fe849ee8f3a19105b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMURDOjI3QjFGQTo1QzRCQUM6N0EwMjYwOjY5NkI0NDEwIiwidmlzaXRvcl9pZCI6Ijc2MTk4NDc5OTU4MjE2MDU5MDQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 1a68f372df800e1188aac2ad2d94d56251984caed2f1ef23882725170d5dd1aa |
| hovercard-subject-tag | pull_request:147961129 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python/cpython/pull/4071/checks |
| twitter:image | https://avatars.githubusercontent.com/u/68491?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/68491?s=400&v=4 |
| og:image:alt | This part is simple, acquire and release the logging lock and each logging handler's lock around fork. A unittest is still needed (relatively trivial to create). The logging.handlers module has... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 82560a55c6b2054555076f46e683151ee28a19bc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width