Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | asyncio: PendingDeprecationWarning -> DeprecationWarning (GH-12494) | Inada Naoki | 2019-03-22 | 1 | -2/+2 |
| | | | `Task.current_task()` and `Task.all_tasks()` will be removed in 3.9. | ||||
* | bpo-35504: Fix segfaults and SystemErrors when deleting certain attrs. ↵ | Zackery Spytz | 2018-12-17 | 1 | -0/+12 |
| | | | | (GH-11175) | ||||
* | bpo-33029: Fix signatures of getter and setter functions. (GH-10746) | Serhiy Storchaka | 2018-11-27 | 1 | -16/+16 |
| | | | Fix also return type for few other functions (clear, releasebuffer). | ||||
* | Fix a compiler warning added in bpo-34872. (GH-9722) | Serhiy Storchaka | 2018-10-05 | 1 | -1/+1 |
| | |||||
* | bpo-34872: Fix self-cancellation in C implementation of asyncio.Task (GH-9679) | Elvis Pranskevichus | 2018-10-03 | 1 | -3/+8 |
| | | | | | | | | | | | | | | | | | The C implementation of asyncio.Task currently fails to perform the cancellation cleanup correctly in the following scenario. async def task1(): async def task2(): await task3 # task3 is never cancelled asyncio.current_task().cancel() await asyncio.create_task(task2()) The actuall error is a hardcoded call to `future_cancel()` instead of calling the `cancel()` method of a future-like object. Thanks to Vladimir Matveev for noticing the code discrepancy and to Yury Selivanov for coming up with a pathological scenario. | ||||
* | bpo-34762: Update PyContext* to PyObject* in asyncio and decimal (GH-9609) | Yury Selivanov | 2018-09-27 | 1 | -9/+8 |
| | | | This fixes various compiler warnings. | ||||
* | bpo-34755: Add few minor optimizations in _asynciomodule.c. (GH-9455) | Serhiy Storchaka | 2018-09-21 | 1 | -158/+116 |
| | |||||
* | bpo-34622: Extract asyncio exceptions into a separate module (GH-9141) | Andrew Svetlov | 2018-09-11 | 1 | -0/+2 |
| | |||||
* | Fixed inconsistency in string handling in the Task C implementation (GH-8717) | Alex Grönholm | 2018-08-09 | 1 | -5/+9 |
| | |||||
* | bpo-34270: Make it possible to name asyncio tasks (GH-8547) | Alex Grönholm | 2018-08-08 | 1 | -2/+58 |
| | | | Co-authored-by: Antti Haapala <antti.haapala@anttipatterns.com> | ||||
* | Make TaskStepMethWrapper_Type and TaskWakeupMethWrapper_Type static. (GH-8127) | Benjamin Peterson | 2018-07-06 | 1 | -2/+2 |
| | |||||
* | bpo-32610: Fix asyncio.all_tasks() to return only pending tasks. (GH-7174) | Yury Selivanov | 2018-05-28 | 1 | -2/+2 |
| | |||||
* | bpo-33623: Fix possible SIGSGV when asyncio.Future is created in __del__ (#7080) | Yury Selivanov | 2018-05-28 | 1 | -1/+7 |
| | |||||
* | bpo-33584: Fix several minor bugs in asyncio. (GH-7003) | Serhiy Storchaka | 2018-05-20 | 1 | -15/+21 |
| | | | | | | | | | | | | Fix the following bugs in the C implementation: * get_future_loop() silenced all exceptions raised when look up the get_loop attribute, not just an AttributeError. * enter_task() silenced all exceptions raised when look up the current task, not just a KeyError. * repr() was called for a borrowed link in enter_task() and task_step_impl(). * str() was used instead of repr() in formatting one error message (in Python implementation too). * There where few reference leaks in error cases. | ||||
* | bpo-31787: Prevent refleaks when calling __init__() more than once (GH-3995) | Oren Milman | 2018-02-13 | 1 | -9/+19 |
| | |||||
* | bpo-32746: Fix multiple typos (GH-5144) | Leo Arias | 2018-02-04 | 1 | -1/+1 |
| | | | Fix typos found by codespell in docs, docstrings, and comments. | ||||
* | bpo-32643: Drop support for a few private Task and Future APIs. (#5293) | Yury Selivanov | 2018-01-24 | 1 | -106/+9 |
| | | | | | | | | Specifically, it's not possible to subclass Task/Future classes and override the following methods: * Future._schedule_callbacks * Task._step * Task._wakeup | ||||
* | bpo-32296: Make get_running_loop() another 4-5x faster (#5277) | Yury Selivanov | 2018-01-23 | 1 | -62/+102 |
| | |||||
* | bpo-32436: Implement PEP 567 (#5027) | Yury Selivanov | 2018-01-23 | 1 | -55/+154 |
| | |||||
* | Fix typo (#5049) | Andrew Svetlov | 2017-12-30 | 1 | -1/+1 |
| | |||||
* | bpo-31721: Allow Future._log_traceback to only be set to False (#5009) | Yury Selivanov | 2017-12-25 | 1 | -0/+5 |
| | |||||
* | bpo-32363: Disable Task.set_exception() and Task.set_result() (#4923) | Yury Selivanov | 2017-12-25 | 1 | -9/+42 |
| | |||||
* | bpo-32415: Fix "error is already set" (#4999) | Yury Selivanov | 2017-12-23 | 1 | -0/+1 |
| | |||||
* | bpo-32357: Use PySet_GET_SIZE macro in _is_coroutine() from _asynciomodule.c ↵ | Andrew Svetlov | 2017-12-23 | 1 | -1/+1 |
| | | | | (#4990) | ||||
* | bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() (#4992) | Yury Selivanov | 2017-12-23 | 1 | -29/+69 |
| | |||||
* | Fix GCC warning in _asynciomodule.c (#4928) | Zackery Spytz | 2017-12-19 | 1 | -1/+1 |
| | |||||
* | bpo-32357: Optimize asyncio.iscoroutine() for non-native coroutines (#4915) | Yury Selivanov | 2017-12-19 | 1 | -28/+85 |
| | |||||
* | bpo-32348: Optimize asyncio.Future schedule/add/remove callback. (#4907) | Yury Selivanov | 2017-12-18 | 1 | -75/+322 |
| | |||||
* | bpo-32250: Implement asyncio.current_task() and asyncio.all_tasks() (#4799) | Andrew Svetlov | 2017-12-16 | 1 | -110/+260 |
| | |||||
* | bpo-32311: Implement asyncio.create_task() shortcut (#4848) | Andrew Svetlov | 2017-12-15 | 1 | -1/+28 |
| | | | | | * Implement functionality * Add documentation | ||||
* | bpo-32296: Implement asyncio.get_event_loop and _get_running_loop in C. (#4827) | Yury Selivanov | 2017-12-13 | 1 | -7/+244 |
| | | | | | | | | asyncio.get_event_loop(), and, subsequently asyncio._get_running_loop() are one of the most frequently executed functions in asyncio. They also can't be sped up by third-party event loops like uvloop. When implemented in C they become 4x faster. | ||||
* | bpo-31185: Fixed miscellaneous errors in asyncio speedup module. (#3076) | Serhiy Storchaka | 2017-09-03 | 1 | -207/+206 |
| | |||||
* | bpo-31061: fix crash in asyncio speedup module (GH-2966) | Alexander Mohr | 2017-08-02 | 1 | -0/+4 |
| | |||||
* | bpo-30828: Fix out of bounds write in ↵ | Yury Selivanov | 2017-07-05 | 1 | -3/+10 |
| | | | | `asyncio.CFuture.remove_done_callback() (#2569) | ||||
* | bpo-30508: Don't log exceptions if Task/Future "cancel()" method called (#2050) | Yury Selivanov | 2017-06-11 | 1 | -1/+17 |
| | |||||
* | bpo-30048: asyncio: fix Task.cancel() was ignored. (GH-1097) | INADA Naoki | 2017-05-11 | 1 | -0/+12 |
| | | | | | | | | | | | | when there are no more `await` or `yield (from)` before return in coroutine, cancel was ignored. example: async def coro(): asyncio.Task.current_task().cancel() return 42 ... res = await coro() # should raise CancelledError | ||||
* | bpo-28963: Fix out of bound iteration in ↵ | Yury Selivanov | 2017-03-03 | 1 | -1/+1 |
| | | | | asyncio.Future.remove_done_callback/C (#408) | ||||
* | bpo-29271: Fix Task.current_task and Task.all_tasks to accept None. (#406) | Yury Selivanov | 2017-03-03 | 1 | -6/+6 |
| | |||||
* | Use _PyObject_CallMethodIdObjArgs() in _asyncio | Victor Stinner | 2016-12-09 | 1 | -17/+19 |
| | | | | | | | | | Issue #28915: Replace _PyObject_CallMethodId() with _PyObject_CallMethodIdObjArgs() when the format string was only made of "O" formats, PyObject* arguments. _PyObject_CallMethodIdObjArgs() avoids the creation of a temporary tuple and doesn't have to parse a format string. | ||||
* | Use _PyObject_CallNoArg() | Victor Stinner | 2016-12-06 | 1 | -1/+1 |
| | | | | | | | Replace: PyObject_CallFunctionObjArgs(callable, NULL) with: _PyObject_CallNoArg(callable) | ||||
* | Use _PyObject_CallNoArg() | Victor Stinner | 2016-12-06 | 1 | -6/+6 |
| | | | | | | | Replace: PyObject_CallObject(callable, NULL) with: _PyObject_CallNoArg(callable) | ||||
* | Issue #28858: Remove _PyObject_CallArg1() macro | Victor Stinner | 2016-12-05 | 1 | -3/+3 |
| | | | | | | | | | | | Replace _PyObject_CallArg1(func, arg) with PyObject_CallFunctionObjArgs(func, arg, NULL) Using the _PyObject_CallArg1() macro increases the usage of the C stack, which was unexpected and unwanted. PyObject_CallFunctionObjArgs() doesn't have this issue. | ||||
* | Backed out changeset b9c9691c72c5 | Victor Stinner | 2016-12-04 | 1 | -5/+7 |
| | | | | | | Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs(). | ||||
* | Merge 3.6 (issue #28843) | Yury Selivanov | 2016-12-01 | 1 | -0/+5 |
| | |||||
* | Replace PyObject_CallFunctionObjArgs() with fastcall | Victor Stinner | 2016-12-01 | 1 | -7/+5 |
| | | | | | | | | | | | | | | * PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func) * PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg) PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires extra work to "parse" C arguments to build a C array of PyObject*. _PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate memory on the C stack. This change is part of the fastcall project. The change on listsort() is related to the issue #23507. | ||||
* | correctly emulate error semantics of gen.throw in FutureIter_throw | Benjamin Peterson | 2016-11-14 | 1 | -19/+34 |
| | |||||
* | Issue #26081: Fix refleak in _asyncio.Future.__iter__().throw. | Yury Selivanov | 2016-11-09 | 1 | -1/+3 |
| | |||||
* | Issue #23996: Added _PyGen_SetStopIterationValue for safe raising | Serhiy Storchaka | 2016-11-06 | 1 | -18/+4 |
| | | | | | StopIteration with value. More safely handle non-normalized exceptions in -_PyGen_FetchStopIterationValue. | ||||
* | Issue #28544: Fix inefficient call to _PyObject_CallMethodId() | Victor Stinner | 2016-10-29 | 1 | -1/+1 |
| | | | | | "()" format string creates an empty list of argument but requires extra work to parse the format string. | ||||
* | Issue #28544: Pass `PyObject*` to _PyDict_Pop, not `PyDictObject*` | Yury Selivanov | 2016-10-28 | 1 | -5/+5 |
| |