summaryrefslogtreecommitdiffstats
path: root/Include/internal/pycore_ceval.h
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2019-01-11 21:26:55 (GMT)
committerGitHub <noreply@github.com>2019-01-11 21:26:55 (GMT)
commitfdf282d609fd172d52b59a6f1f062eb701494528 (patch)
treec73554b9748c06b84b94a84f16fbcca64162b653 /Include/internal/pycore_ceval.h
parenta909460a09cca79bd051c45b02e650862a57dbd9 (diff)
downloadcpython-fdf282d609fd172d52b59a6f1f062eb701494528.zip
cpython-fdf282d609fd172d52b59a6f1f062eb701494528.tar.gz
cpython-fdf282d609fd172d52b59a6f1f062eb701494528.tar.bz2
bpo-35423: Stop using the "pending calls" machinery for signals. (gh-10972)
This change separates the signal handling trigger in the eval loop from the "pending calls" machinery. There is no semantic change and the difference in performance is insignificant. The change makes both components less confusing. It also eliminates the risk of changes to the pending calls affecting signal handling. This is particularly relevant for some upcoming pending calls changes I have in the works.
Diffstat (limited to 'Include/internal/pycore_ceval.h')
-rw-r--r--Include/internal/pycore_ceval.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/Include/internal/pycore_ceval.h b/Include/internal/pycore_ceval.h
index c8c63b1..b9f2d7d 100644
--- a/Include/internal/pycore_ceval.h
+++ b/Include/internal/pycore_ceval.h
@@ -45,6 +45,8 @@ struct _ceval_runtime_state {
/* Request for dropping the GIL */
_Py_atomic_int gil_drop_request;
struct _pending_calls pending;
+ /* Request for checking signals. */
+ _Py_atomic_int signals_pending;
struct _gil_runtime_state gil;
};