https://github.com/python/cpython/commit/b752764f9ea651a7c36ccbae63574baa7d8dcd00
commit: b752764f9ea651a7c36ccbae63574baa7d8dcd00
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: ericsnowcurrently <[email protected]>
date: 2024-10-21T20:05:06Z
summary:

[3.13] gh-125716: Raise an Exception If _globals_init() Fails In the 
_interpqueues Module (gh-125808)

The fix applies to the _interpchannels module as well.

I've also included a drive-by typo fix for _interpqueues.

(cherry picked from commit 44f841f01af0fb038e142a07f15eda1ecdd5b08a, AKA 
gh-125802)

Co-authored-by: Eric Snow <[email protected]>

files:
M Modules/_interpchannelsmodule.c
M Modules/_interpqueuesmodule.c

diff --git a/Modules/_interpchannelsmodule.c b/Modules/_interpchannelsmodule.c
index a8b4a8d76b0eaa..c52cde6da500f7 100644
--- a/Modules/_interpchannelsmodule.c
+++ b/Modules/_interpchannelsmodule.c
@@ -3482,7 +3482,8 @@ The 'interpreters' module provides a more convenient 
interface.");
 static int
 module_exec(PyObject *mod)
 {
-    if (_globals_init() != 0) {
+    int err = _globals_init();
+    if (handle_channel_error(err, mod, -1)) {
         return -1;
     }
 
diff --git a/Modules/_interpqueuesmodule.c b/Modules/_interpqueuesmodule.c
index aebfd1337ba997..c766cb281819da 100644
--- a/Modules/_interpqueuesmodule.c
+++ b/Modules/_interpqueuesmodule.c
@@ -1312,7 +1312,7 @@ _queueid_xid_new(int64_t qid)
 
     struct _queueid_xid *data = PyMem_RawMalloc(sizeof(struct _queueid_xid));
     if (data == NULL) {
-        _queues_incref(queues, qid);
+        _queues_decref(queues, qid);
         return NULL;
     }
     data->qid = qid;
@@ -1894,7 +1894,8 @@ The 'interpreters' module provides a more convenient 
interface.");
 static int
 module_exec(PyObject *mod)
 {
-    if (_globals_init() != 0) {
+    int err = _globals_init();
+    if (handle_queue_error(err, mod, -1)) {
         return -1;
     }
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to