summaryrefslogtreecommitdiffstats
path: root/Modules/_threadmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_threadmodule.c')
-rw-r--r--Modules/_threadmodule.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index 7620511..4d45304 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -88,14 +88,15 @@ lock_acquire_parse_args(PyObject *args, PyObject *kwds,
char *kwlist[] = {"blocking", "timeout", NULL};
int blocking = 1;
PyObject *timeout_obj = NULL;
- const _PyTime_t unset_timeout = _PyTime_FromSeconds(-1);
-
- *timeout = unset_timeout ;
-
if (!PyArg_ParseTupleAndKeywords(args, kwds, "|pO:acquire", kwlist,
&blocking, &timeout_obj))
return -1;
+ // XXX Use PyThread_ParseTimeoutArg().
+
+ const _PyTime_t unset_timeout = _PyTime_FromSeconds(-1);
+ *timeout = unset_timeout;
+
if (timeout_obj
&& _PyTime_FromSecondsObject(timeout,
timeout_obj, _PyTime_ROUND_TIMEOUT) < 0)
@@ -108,7 +109,7 @@ lock_acquire_parse_args(PyObject *args, PyObject *kwds,
}
if (*timeout < 0 && *timeout != unset_timeout) {
PyErr_SetString(PyExc_ValueError,
- "timeout value must be positive");
+ "timeout value must be a non-negative number");
return -1;
}
if (!blocking)