From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 21 Oct 2024 20:05:06 +0000 (+0200) Subject: [3.13] gh-125716: Raise an Exception If _globals_init() Fails In the _interpqueues... X-Git-Tag: v3.13.1~253 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b752764f9ea651a7c36ccbae63574baa7d8dcd00;p=thirdparty%2FPython%2Fcpython.git [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 --- diff --git a/Modules/_interpchannelsmodule.c b/Modules/_interpchannelsmodule.c index a8b4a8d76b0e..c52cde6da500 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 aebfd1337ba9..c766cb281819 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; }