Message411652
> 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();
} |
|
Date |
User |
Action |
Args |
2022-01-25 18:11:09 | vstinner | set | recipients:
+ vstinner, gvanrossum, Mark.Shannon, eric.snow, corona10, kj |
2022-01-25 18:11:09 | vstinner | set | messageid: <1643134269.45.0.127410071098.issue46465@roundup.psfhosted.org> |
2022-01-25 18:11:09 | vstinner | link | issue46465 messages |
2022-01-25 18:11:09 | vstinner | create | |
|