diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2012-03-02 21:54:03 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2012-03-02 21:54:03 (GMT) |
commit | 643cd68ea4b8d33a6d0163ef693ef6518f76b88f (patch) | |
tree | 4dda5f7783635633cc2d092dd975461ba263d2c0 /Modules/signalmodule.c | |
parent | 1c13f84f5554cecbdce8bf42dbfb609c1f72282a (diff) | |
download | cpython-643cd68ea4b8d33a6d0163ef693ef6518f76b88f.zip cpython-643cd68ea4b8d33a6d0163ef693ef6518f76b88f.tar.gz cpython-643cd68ea4b8d33a6d0163ef693ef6518f76b88f.tar.bz2 |
Issue #13964: signal.sigtimedwait() timeout is now a float instead of a tuple
Add a private API to convert an int or float to a C timespec structure.
Diffstat (limited to 'Modules/signalmodule.c')
-rw-r--r-- | Modules/signalmodule.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index e46f8cf..2eb7f29 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -783,16 +783,11 @@ signal_sigtimedwait(PyObject *self, PyObject *args) siginfo_t si; int err; - if (!PyArg_ParseTuple(args, "OO:sigtimedwait", &signals, &timeout)) + if (!PyArg_ParseTuple(args, "OO:sigtimedwait", + &signals, &timeout)) return NULL; - if (!PyTuple_Check(timeout) || PyTuple_Size(timeout) != 2) { - PyErr_SetString(PyExc_TypeError, - "sigtimedwait() arg 2 must be a tuple " - "(timeout_sec, timeout_nsec)"); - return NULL; - } else if (!PyArg_ParseTuple(timeout, "ll:sigtimedwait", - &(buf.tv_sec), &(buf.tv_nsec))) + if (_PyTime_ObjectToTimespec(timeout, &buf.tv_sec, &buf.tv_nsec) == -1) return NULL; if (buf.tv_sec < 0 || buf.tv_nsec < 0) { |