[Python-checkins] bpo-32436: Use PyThreadState_GET() in all hot paths (GH-5363)

Yury Selivanov webhook-mailer at python.org
Sat Jan 27 13:24:23 EST 2018


https://github.com/python/cpython/commit/bc4123b0b380edda774b8bff2fa1bcc96453b440
commit: bc4123b0b380edda774b8bff2fa1bcc96453b440
branch: master
author: Yury Selivanov <yury at magic.io>
committer: GitHub <noreply at github.com>
date: 2018-01-27T13:24:20-05:00
summary:

bpo-32436: Use PyThreadState_GET() in all hot paths (GH-5363)

files:
M Python/context.c

diff --git a/Python/context.c b/Python/context.c
index 3928e94d064..2034a204121 100644
--- a/Python/context.c
+++ b/Python/context.c
@@ -85,7 +85,8 @@ PyContext_Enter(PyContext *ctx)
         return -1;
     }
 
-    PyThreadState *ts = PyThreadState_Get();
+    PyThreadState *ts = PyThreadState_GET();
+    assert(ts != NULL);
 
     ctx->ctx_prev = (PyContext *)ts->context;  /* borrow */
     ctx->ctx_entered = 1;
@@ -107,7 +108,8 @@ PyContext_Exit(PyContext *ctx)
         return -1;
     }
 
-    PyThreadState *ts = PyThreadState_Get();
+    PyThreadState *ts = PyThreadState_GET();
+    assert(ts != NULL);
 
     if (ts->context != (PyObject *)ctx) {
         /* Can only happen if someone misuses the C API */
@@ -341,7 +343,8 @@ context_new_from_vars(PyHamtObject *vars)
 static inline PyContext *
 context_get(void)
 {
-    PyThreadState *ts = PyThreadState_Get();
+    PyThreadState *ts = PyThreadState_GET();
+    assert(ts != NULL);
     PyContext *current_ctx = (PyContext *)ts->context;
     if (current_ctx == NULL) {
         current_ctx = context_new_empty();



More information about the Python-checkins mailing list