--- /dev/null
+Now :mod:`functools` is safer in free-threaded build when using keywords in :func:`functools.partial`
}
}
/* Pack keyword arguments */
+ int error = 0;
+ Py_BEGIN_CRITICAL_SECTION(kw);
for (i = 0; PyDict_Next(kw, &i, &key, &value);) {
/* Prevent key.__str__ from deleting the value. */
Py_INCREF(value);
key, value));
Py_DECREF(value);
if (arglist == NULL) {
- goto done;
+ error = 1;
+ break;
}
}
+ Py_END_CRITICAL_SECTION();
+ if (error) {
+ goto done;
+ }
mod = PyType_GetModuleName(Py_TYPE(pto));
if (mod == NULL) {