prompt-toolkit / prompt-toolkit/python-prompt-toolkit
Improve `call_soon_threadsafe` (with `max_postpone_timeout`) to provide good cancellation.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 10.6k
- Forks
- 815
- PR merge metrics
- No merged PRs in 30d
Description
See this commit: https://github.com/prompt-toolkit/python-prompt-toolkit/commit/7f0541b4d2cb5c5ba28db54bbf221a9388715569
Because this function is not a coroutine, we had no way to deal with cancellation.
Maybe make it a coroutine and do something like:
async def call_soon_threadsafe(...):
while not loop._ready:
await sleep(0)
if timeout:
break
await func()
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the referenced commit first, then locate call_soon_threadsafe and max_postpone_timeout in the repository to understand the current scheduling path. Define how cancellation should work, evaluate the proposed coroutine direction, and verify the resulting behavior with focused asynchronous tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100