This repository was archived by the owner on Feb 13, 2025. It is now read-only.
forked from python/cpython
-
Notifications
You must be signed in to change notification settings - Fork 61
enhance tasklet.bind() #28
Labels
Comments
Original comment by Kristján Valur Jónsson (Bitbucket: krisvale, GitHub: kristjanvalur): Ah, this is already done: |
Original comment by Kristján Valur Jónsson (Bitbucket: krisvale, GitHub: kristjanvalur): except for the changes to the .rst and state chart. |
Original comment by Kristján Valur Jónsson (Bitbucket: krisvale, GitHub: kristjanvalur): Marking this as resolved. |
akruis
pushed a commit
that referenced
this issue
Mar 3, 2018
various updates from upstream python/typing repo: - Added typing.Counter and typing.ChainMap generics - More flexible typing.NamedTuple - Improved generic ABC caching - More tests - Bugfixes - Other updates * Add Misc/NEWS entry * Add issue number
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Originally reported by: Anselm Kruis (Bitbucket: akruis, GitHub: akruis)
This issue proposes an enhancement for the method tasklet.bind(). It adds the functionality of tasklet.setup() except the implicit tasklet.insert() to bind().
The details were discussed on the Stackless mailing list in the thread http://www.stackless.com/pipermail/stackless/2013-November/005899.html. The credits for the idea to enhance tasklet.bind() go to Kristján: http://www.stackless.com/pipermail/stackless/2013-November/005911.html.
Details
Currently tasklet.bind() requires a single positional argument. Kristján proposes to add two optional arguments. The signature of bind then becomes
def bind(self, function, args=None, keywords=None):
If both args and keywords are None, bind() behaves as before.
Otherwise presence of args and/or keywords as being non-None, would then
imply a setup, without scheduling the tasklet. In this case, if function is None the value of self.tempval is used as function, similar to tasklet.setup(). If self.tempval is None too, bind() raises RuntimeError('the tasklet was not bound to a function')
With this change tasklet.bind() and tasklet.insert() become the "atomic" building blocks for tasklet creation. tasklet.setup() is then equivalent to
Plan
Any objections?
tasklet_state.eap.zip
The text was updated successfully, but these errors were encountered: