This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients Mark.Shannon, corona10, eric.snow, gvanrossum, kj, vstinner
Date 2022-01-25.18:11:09
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1643134269.45.0.127410071098.issue46465@roundup.psfhosted.org>
In-reply-to
Content
> Regarding C extensions, I think clear documentation that extension authors need to check for signals in any code that might run for a few hundred microseconds or longer is the best approach.

Python 3.10 doesn't require it. If you want to change Python 3.11 behavior, please announce the change on python-dev and capi-sig mailing lists, and document it carefully in What's New in Python 3.11.

I'm not talking about checking frequently interruptions while a function is running, I'm only talking about the "end" of a C function (exit). In Python 3.10, ceval.c does it automatically.

        case TARGET(CALL_FUNCTION): {
            PREDICTED(CALL_FUNCTION);
            PyObject **sp, *res;
            sp = stack_pointer;
            res = call_function(tstate, &trace_info, &sp, oparg, NULL);
            stack_pointer = sp;
            PUSH(res);
            if (res == NULL) {
                goto error;
            }
            CHECK_EVAL_BREAKER();  // <==== HERE
            DISPATCH();
        }
History
Date User Action Args
2022-01-25 18:11:09vstinnersetrecipients: + vstinner, gvanrossum, Mark.Shannon, eric.snow, corona10, kj
2022-01-25 18:11:09vstinnersetmessageid: <1643134269.45.0.127410071098.issue46465@roundup.psfhosted.org>
2022-01-25 18:11:09vstinnerlinkissue46465 messages
2022-01-25 18:11:09vstinnercreate