summaryrefslogtreecommitdiffstats
path: root/Modules/_multiprocessing/clinic
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2022-12-03 19:52:21 (GMT)
committerGitHub <noreply@github.com>2022-12-03 19:52:21 (GMT)
commita87c46eab3c306b1c5b8a072b7b30ac2c50651c0 (patch)
tree92c0ebdb6abd303ea967c0bd999d839a98f84494 /Modules/_multiprocessing/clinic
parentc68573b339320409b038501fdd7d4f8a56766275 (diff)
downloadcpython-a87c46eab3c306b1c5b8a072b7b30ac2c50651c0.zip
cpython-a87c46eab3c306b1c5b8a072b7b30ac2c50651c0.tar.gz
cpython-a87c46eab3c306b1c5b8a072b7b30ac2c50651c0.tar.bz2
bpo-15999: Accept arbitrary values for boolean parameters. (#15609)
builtins and extension module functions and methods that expect boolean values for parameters now accept any Python object rather than just a bool or int type. This is more consistent with how native Python code itself behaves.
Diffstat (limited to 'Modules/_multiprocessing/clinic')
-rw-r--r--Modules/_multiprocessing/clinic/semaphore.c.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/Modules/_multiprocessing/clinic/semaphore.c.h b/Modules/_multiprocessing/clinic/semaphore.c.h
index dce0366..3534716 100644
--- a/Modules/_multiprocessing/clinic/semaphore.c.h
+++ b/Modules/_multiprocessing/clinic/semaphore.c.h
@@ -65,8 +65,8 @@ _multiprocessing_SemLock_acquire(SemLockObject *self, PyObject *const *args, Py_
goto skip_optional_pos;
}
if (args[0]) {
- blocking = _PyLong_AsInt(args[0]);
- if (blocking == -1 && PyErr_Occurred()) {
+ blocking = PyObject_IsTrue(args[0]);
+ if (blocking < 0) {
goto exit;
}
if (!--noptargs) {
@@ -162,8 +162,8 @@ _multiprocessing_SemLock_acquire(SemLockObject *self, PyObject *const *args, Py_
goto skip_optional_pos;
}
if (args[0]) {
- blocking = _PyLong_AsInt(args[0]);
- if (blocking == -1 && PyErr_Occurred()) {
+ blocking = PyObject_IsTrue(args[0]);
+ if (blocking < 0) {
goto exit;
}
if (!--noptargs) {
@@ -275,8 +275,8 @@ _multiprocessing_SemLock(PyTypeObject *type, PyObject *args, PyObject *kwargs)
PyErr_SetString(PyExc_ValueError, "embedded null character");
goto exit;
}
- unlink = _PyLong_AsInt(fastargs[4]);
- if (unlink == -1 && PyErr_Occurred()) {
+ unlink = PyObject_IsTrue(fastargs[4]);
+ if (unlink < 0) {
goto exit;
}
return_value = _multiprocessing_SemLock_impl(type, kind, value, maxvalue, name, unlink);
@@ -542,4 +542,4 @@ exit:
#ifndef _MULTIPROCESSING_SEMLOCK___EXIT___METHODDEF
#define _MULTIPROCESSING_SEMLOCK___EXIT___METHODDEF
#endif /* !defined(_MULTIPROCESSING_SEMLOCK___EXIT___METHODDEF) */
-/*[clinic end generated code: output=720d7d0066dc0954 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=dae57a702cc01512 input=a9049054013a1b77]*/