bpo-29569: threading.Timer class: Continue periodical execution till action return True#191
Closed
slytomcat wants to merge 1 commit intopython:masterfrom
slytomcat:Periodical.Timer
Closed
bpo-29569: threading.Timer class: Continue periodical execution till action return True#191slytomcat wants to merge 1 commit intopython:masterfrom slytomcat:Periodical.Timer
slytomcat wants to merge 1 commit intopython:masterfrom
slytomcat:Periodical.Timer
Conversation
…rn True + tests + doc
Author
|
It is reopened (due to need to reorganize my clonned repo) CR #121 |
Author
|
Closed after discussion on the issue. |
akruis
added a commit
to akruis/cpython
that referenced
this pull request
Dec 27, 2018
Use/implement tp_dealloc/tp_new/tp_free according to the latest C-API documentation.
jaraco
pushed a commit
that referenced
this pull request
Dec 2, 2022
SonicField
added a commit
to SonicField/cpython
that referenced
this pull request
Apr 27, 2026
Institutional-debt audit (b) per supervisor 12:05:10Z. All 4 untracked
phase plans verified against the canonical Phase 4+ roadmap. Each is
SUPERSEDED — by the canonical roadmap doc OR by completion of the
work it described. Headers added; plans retained in tree for
historical scoping rationale rather than deleted.
docs/phase3d-next-subsystem-plan.md (theologian 2026-04-17, 220 LOC)
SUPERSEDED BY docs/post-phase3d-pure-c-roadmap.md (canonical
Phase 4+ roadmap, supervisor-promoted 2026-04-27 07:20:19Z) +
docs/phase4-hir-burndown-spec.md (Phase 4 HIR-area deep dive).
Pre-Phase-3D 5-phase scoping; per-file LOC table informed the
bottom-up area-prioritization in the canonical roadmap.
docs/phase-crtp-elimination-plan.md (undated, 55 LOC)
SUPERSEDED BY docs/post-phase3d-pure-c-roadmap.md. Template-
elimination work belongs to the HIR convergence sweep + the
CRTP/template residue cleanup deferred until consumers go pure-C.
docs/phase-h2-plan.md (~2026-04-15, 103 LOC)
SUPERSEDED BY COMPLETION. The H2-A/B C-struct migration landed:
Python/jit/hir/hir_instr_c.h holds the 46+ HirInstrLayout /
HirDeoptLayout / per-opcode struct definitions and the
HIR_INSTR_FIELDS / HIR_DEOPT_FIELDS macros; cross-arch verification
in Python/jit/hir/hir_instr_c_verify.cpp.
docs/phase-h2e-container-plan.md (~April, 91 LOC)
SUPERSEDED BY COMPLETION. Per-field DeoptBase container conversion
landed: descr_ → char *descr (E1), live_regs_ → PhxRegStateArray
(E2), frame_state_ → raw void* (E3) — see HIR_DEOPT_FIELDS at
Python/jit/hir/hir_instr_c.h:123 and the hir_c_destroy_instr_impl
dispatcher.
Doc-only commit. Closes the canonical-version ambiguity surfaced by
pythia python#191 python#3 (audit (a) landed 11 canonical docs alongside these 4
unverified-as-superseded plans). No JIT/build/codegen surface;
trivial-push exemption.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I think that functionality of threading.Timer class can be easily extended to generate the sequence of runs with specified period. The idea comes from the GLib.timeout_add function.
http://bugs.python.org/issue29569
As most current CB functions that are used in Timer returns nothing (None) they will run only once as earlier. Only functions that returns True will continue their periodical execution.
There are two ways to stop such continues execution:
Changed method run should look like: