[3.7] bpo-34762: Update PyContext* refs to PyObject* in asyncio and d… · python/cpython@24cb7de (original) (raw)
`@@ -59,7 +59,7 @@ typedef enum {
`
59
59
` PyObject_HEAD \
`
60
60
` PyObject *prefix##_loop; \
`
61
61
` PyObject *prefix##_callback0; \
`
62
``
`-
PyContext *prefix##_context0; \
`
``
62
`+
PyObject *prefix##_context0; \
`
63
63
` PyObject *prefix##_callbacks; \
`
64
64
` PyObject *prefix##_exception; \
`
65
65
` PyObject *prefix##_result; \
`
`@@ -78,7 +78,7 @@ typedef struct {
`
78
78
`FutureObj_HEAD(task)
`
79
79
`PyObject *task_fut_waiter;
`
80
80
`PyObject *task_coro;
`
81
``
`-
PyContext *task_context;
`
``
81
`+
PyObject *task_context;
`
82
82
`int task_must_cancel;
`
83
83
`int task_log_destroy_pending;
`
84
84
`} TaskObj;
`
`@@ -337,7 +337,7 @@ get_event_loop(void)
`
337
337
``
338
338
``
339
339
`static int
`
340
``
`-
call_soon(PyObject *loop, PyObject *func, PyObject *arg, PyContext *ctx)
`
``
340
`+
call_soon(PyObject *loop, PyObject *func, PyObject *arg, PyObject *ctx)
`
341
341
`{
`
342
342
`PyObject *handle;
`
343
343
`PyObject *stack[3];
`
`@@ -448,7 +448,7 @@ future_schedule_callbacks(FutureObj *fut)
`
448
448
`PyObject *cb = PyTuple_GET_ITEM(cb_tup, 0);
`
449
449
`PyObject *ctx = PyTuple_GET_ITEM(cb_tup, 1);
`
450
450
``
451
``
`-
if (call_soon(fut->fut_loop, cb, (PyObject *)fut, (PyContext *)ctx)) {
`
``
451
`+
if (call_soon(fut->fut_loop, cb, (PyObject *)fut, ctx)) {
`
452
452
`/* If an error occurs in pure-Python implementation,
`
453
453
` all callbacks are cleared. */
`
454
454
`Py_CLEAR(fut->fut_callbacks);
`
`@@ -616,7 +616,7 @@ future_get_result(FutureObj *fut, PyObject **result)
`
616
616
`}
`
617
617
``
618
618
`static PyObject *
`
619
``
`-
future_add_done_callback(FutureObj *fut, PyObject *arg, PyContext *ctx)
`
``
619
`+
future_add_done_callback(FutureObj *fut, PyObject *arg, PyObject *ctx)
`
620
620
`{
`
621
621
`if (!future_is_alive(fut)) {
`
622
622
`PyErr_SetString(PyExc_RuntimeError, "uninitialized Future object");
`
`@@ -903,16 +903,15 @@ _asyncio_Future_add_done_callback_impl(FutureObj *self, PyObject *fn,
`
903
903
`/[clinic end generated code: output=7ce635bbc9554c1e input=15ab0693a96e9533]/
`
904
904
`{
`
905
905
`if (context == NULL) {
`
906
``
`-
context = (PyObject *)PyContext_CopyCurrent();
`
``
906
`+
context = PyContext_CopyCurrent();
`
907
907
`if (context == NULL) {
`
908
908
`return NULL;
`
909
909
` }
`
910
``
`-
PyObject *res = future_add_done_callback(
`
911
``
`-
self, fn, (PyContext *)context);
`
``
910
`+
PyObject *res = future_add_done_callback(self, fn, context);
`
912
911
`Py_DECREF(context);
`
913
912
`return res;
`
914
913
` }
`
915
``
`-
return future_add_done_callback(self, fn, (PyContext *)context);
`
``
914
`+
return future_add_done_callback(self, fn, context);
`
916
915
`}
`
917
916
``
918
917
`/*[clinic input]
`