[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]

`