[Python-checkins] [3.7] bpo-34762: Update PyContext* refs to PyObject* in asyncio and decimal (GH-9610)

Yury Selivanov webhook-mailer at python.org
Thu Sep 27 15:33:29 EDT 2018


https://github.com/python/cpython/commit/24cb7de15d3a5979425b281ab4f600f7c2b401f2
commit: 24cb7de15d3a5979425b281ab4f600f7c2b401f2
branch: 3.7
author: Yury Selivanov <yury at magic.io>
committer: GitHub <noreply at github.com>
date: 2018年09月27日T15:33:23-04:00
summary:
[3.7] bpo-34762: Update PyContext* refs to PyObject* in asyncio and decimal (GH-9610)
files:
M Modules/_asynciomodule.c
M Modules/_decimal/_decimal.c
diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index ebda10404eb5..0c161fb2bc7d 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -59,7 +59,7 @@ typedef enum {
 PyObject_HEAD \
 PyObject *prefix##_loop; \
 PyObject *prefix##_callback0; \
- PyContext *prefix##_context0; \
+ PyObject *prefix##_context0; \
 PyObject *prefix##_callbacks; \
 PyObject *prefix##_exception; \
 PyObject *prefix##_result; \
@@ -78,7 +78,7 @@ typedef struct {
 FutureObj_HEAD(task)
 PyObject *task_fut_waiter;
 PyObject *task_coro;
- PyContext *task_context;
+ PyObject *task_context;
 int task_must_cancel;
 int task_log_destroy_pending;
 } TaskObj;
@@ -337,7 +337,7 @@ get_event_loop(void)
 
 
 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 *stack[3];
@@ -448,7 +448,7 @@ future_schedule_callbacks(FutureObj *fut)
 PyObject *cb = PyTuple_GET_ITEM(cb_tup, 0);
 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,
 all callbacks are cleared. */
 Py_CLEAR(fut->fut_callbacks);
@@ -616,7 +616,7 @@ future_get_result(FutureObj *fut, PyObject **result)
 }
 
 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)) {
 PyErr_SetString(PyExc_RuntimeError, "uninitialized Future object");
@@ -903,16 +903,15 @@ _asyncio_Future_add_done_callback_impl(FutureObj *self, PyObject *fn,
 /*[clinic end generated code: output=7ce635bbc9554c1e input=15ab0693a96e9533]*/
 {
 if (context == NULL) {
- context = (PyObject *)PyContext_CopyCurrent();
+ context = PyContext_CopyCurrent();
 if (context == NULL) {
 return NULL;
 }
- PyObject *res = future_add_done_callback(
- self, fn, (PyContext *)context);
+ PyObject *res = future_add_done_callback(self, fn, context);
 Py_DECREF(context);
 return res;
 }
- return future_add_done_callback(self, fn, (PyContext *)context);
+ return future_add_done_callback(self, fn, context);
 }
 
 /*[clinic input]
diff --git a/Modules/_decimal/_decimal.c b/Modules/_decimal/_decimal.c
index 5bce780cb7fb..1e58d3d5b779 100644
--- a/Modules/_decimal/_decimal.c
+++ b/Modules/_decimal/_decimal.c
@@ -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
 * arguments and initializing the module_context on first access. */
@@ -1500,7 +1500,7 @@ init_current_context(void)
 }
 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) {
 Py_DECREF(tl_context);
 return NULL;
@@ -1561,7 +1561,7 @@ PyDec_SetCurrentContext(PyObject *self UNUSED, PyObject *v)
 Py_INCREF(v);
 }
 
- PyContextToken *tok = PyContextVar_Set(current_context_var, v);
+ PyObject *tok = PyContextVar_Set(current_context_var, v);
 Py_DECREF(v);
 if (tok == NULL) {
 return NULL;


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /