mirror of https://github.com/python/cpython
bpo-34762: Update PyContext* to PyObject* in asyncio and decimal (GH-9609)
This fixes various compiler warnings.
This commit is contained in:
parent
3f22811fef
commit
994269ccee
|
@ -61,7 +61,7 @@ typedef enum {
|
||||||
PyObject_HEAD \
|
PyObject_HEAD \
|
||||||
PyObject *prefix##_loop; \
|
PyObject *prefix##_loop; \
|
||||||
PyObject *prefix##_callback0; \
|
PyObject *prefix##_callback0; \
|
||||||
PyContext *prefix##_context0; \
|
PyObject *prefix##_context0; \
|
||||||
PyObject *prefix##_callbacks; \
|
PyObject *prefix##_callbacks; \
|
||||||
PyObject *prefix##_exception; \
|
PyObject *prefix##_exception; \
|
||||||
PyObject *prefix##_result; \
|
PyObject *prefix##_result; \
|
||||||
|
@ -81,7 +81,7 @@ typedef struct {
|
||||||
PyObject *task_fut_waiter;
|
PyObject *task_fut_waiter;
|
||||||
PyObject *task_coro;
|
PyObject *task_coro;
|
||||||
PyObject *task_name;
|
PyObject *task_name;
|
||||||
PyContext *task_context;
|
PyObject *task_context;
|
||||||
int task_must_cancel;
|
int task_must_cancel;
|
||||||
int task_log_destroy_pending;
|
int task_log_destroy_pending;
|
||||||
} TaskObj;
|
} TaskObj;
|
||||||
|
@ -340,7 +340,7 @@ get_event_loop(void)
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
call_soon(PyObject *loop, PyObject *func, PyObject *arg, PyContext *ctx)
|
call_soon(PyObject *loop, PyObject *func, PyObject *arg, PyObject *ctx)
|
||||||
{
|
{
|
||||||
PyObject *handle;
|
PyObject *handle;
|
||||||
PyObject *stack[3];
|
PyObject *stack[3];
|
||||||
|
@ -451,7 +451,7 @@ future_schedule_callbacks(FutureObj *fut)
|
||||||
PyObject *cb = PyTuple_GET_ITEM(cb_tup, 0);
|
PyObject *cb = PyTuple_GET_ITEM(cb_tup, 0);
|
||||||
PyObject *ctx = PyTuple_GET_ITEM(cb_tup, 1);
|
PyObject *ctx = PyTuple_GET_ITEM(cb_tup, 1);
|
||||||
|
|
||||||
if (call_soon(fut->fut_loop, cb, (PyObject *)fut, (PyContext *)ctx)) {
|
if (call_soon(fut->fut_loop, cb, (PyObject *)fut, ctx)) {
|
||||||
/* If an error occurs in pure-Python implementation,
|
/* If an error occurs in pure-Python implementation,
|
||||||
all callbacks are cleared. */
|
all callbacks are cleared. */
|
||||||
Py_CLEAR(fut->fut_callbacks);
|
Py_CLEAR(fut->fut_callbacks);
|
||||||
|
@ -619,7 +619,7 @@ future_get_result(FutureObj *fut, PyObject **result)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
future_add_done_callback(FutureObj *fut, PyObject *arg, PyContext *ctx)
|
future_add_done_callback(FutureObj *fut, PyObject *arg, PyObject *ctx)
|
||||||
{
|
{
|
||||||
if (!future_is_alive(fut)) {
|
if (!future_is_alive(fut)) {
|
||||||
PyErr_SetString(PyExc_RuntimeError, "uninitialized Future object");
|
PyErr_SetString(PyExc_RuntimeError, "uninitialized Future object");
|
||||||
|
@ -906,16 +906,15 @@ _asyncio_Future_add_done_callback_impl(FutureObj *self, PyObject *fn,
|
||||||
/*[clinic end generated code: output=7ce635bbc9554c1e input=15ab0693a96e9533]*/
|
/*[clinic end generated code: output=7ce635bbc9554c1e input=15ab0693a96e9533]*/
|
||||||
{
|
{
|
||||||
if (context == NULL) {
|
if (context == NULL) {
|
||||||
context = (PyObject *)PyContext_CopyCurrent();
|
context = PyContext_CopyCurrent();
|
||||||
if (context == NULL) {
|
if (context == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
PyObject *res = future_add_done_callback(
|
PyObject *res = future_add_done_callback(self, fn, context);
|
||||||
self, fn, (PyContext *)context);
|
|
||||||
Py_DECREF(context);
|
Py_DECREF(context);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
return future_add_done_callback(self, fn, (PyContext *)context);
|
return future_add_done_callback(self, fn, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*[clinic input]
|
/*[clinic input]
|
||||||
|
|
|
@ -122,7 +122,7 @@ incr_false(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static PyContextVar *current_context_var;
|
static PyObject *current_context_var;
|
||||||
|
|
||||||
/* Template for creating new thread contexts, calling Context() without
|
/* Template for creating new thread contexts, calling Context() without
|
||||||
* arguments and initializing the module_context on first access. */
|
* arguments and initializing the module_context on first access. */
|
||||||
|
@ -1500,7 +1500,7 @@ init_current_context(void)
|
||||||
}
|
}
|
||||||
CTX(tl_context)->status = 0;
|
CTX(tl_context)->status = 0;
|
||||||
|
|
||||||
PyContextToken *tok = PyContextVar_Set(current_context_var, tl_context);
|
PyObject *tok = PyContextVar_Set(current_context_var, tl_context);
|
||||||
if (tok == NULL) {
|
if (tok == NULL) {
|
||||||
Py_DECREF(tl_context);
|
Py_DECREF(tl_context);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -1561,7 +1561,7 @@ PyDec_SetCurrentContext(PyObject *self UNUSED, PyObject *v)
|
||||||
Py_INCREF(v);
|
Py_INCREF(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
PyContextToken *tok = PyContextVar_Set(current_context_var, v);
|
PyObject *tok = PyContextVar_Set(current_context_var, v);
|
||||||
Py_DECREF(v);
|
Py_DECREF(v);
|
||||||
if (tok == NULL) {
|
if (tok == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue