summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-03-28 03:09:41 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-03-28 03:09:41 (GMT)
commitb3b454407058cd57d8a401a5aeb018d4ccb87616 (patch)
treeb1e53ecf7dd67abfd8b1573e16c02210391f06d1
parentc337838af798354603457043e2ad8cfd3cbea36e (diff)
downloadcpython-b3b454407058cd57d8a401a5aeb018d4ccb87616.zip
cpython-b3b454407058cd57d8a401a5aeb018d4ccb87616.tar.gz
cpython-b3b454407058cd57d8a401a5aeb018d4ccb87616.tar.bz2
Issue #22117: Use the _PyTime_t API for time.clock_settime()
Remove also the now unused _PyTime_AddDouble() function.
-rw-r--r--Include/pytime.h5
-rw-r--r--Modules/timemodule.c10
-rw-r--r--Python/pytime.c17
3 files changed, 5 insertions, 27 deletions
diff --git a/Include/pytime.h b/Include/pytime.h
index 6edffbd..654623e 100644
--- a/Include/pytime.h
+++ b/Include/pytime.h
@@ -74,11 +74,6 @@ PyAPI_FUNC(int) _PyTime_ObjectToTimespec(
long *nsec,
_PyTime_round_t);
-/* Add interval seconds to tv */
-PyAPI_FUNC(void)
-_PyTime_AddDouble(_PyTime_timeval *tv, double interval,
- _PyTime_round_t round);
-
/* Initialize time.
Return 0 on success, raise an exception and return -1 on error. */
PyAPI_FUNC(int) _PyTime_Init(void);
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 21e6f43..3178fcb 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -166,18 +166,18 @@ time_clock_settime(PyObject *self, PyObject *args)
{
int clk_id;
PyObject *obj;
- time_t tv_sec;
- long tv_nsec;
+ _PyTime_t t;
struct timespec tp;
int ret;
if (!PyArg_ParseTuple(args, "iO:clock_settime", &clk_id, &obj))
return NULL;
- if (_PyTime_ObjectToTimespec(obj, &tv_sec, &tv_nsec, _PyTime_ROUND_DOWN) == -1)
+ if (_PyTime_FromSecondsObject(&t, obj, _PyTime_ROUND_DOWN) < 0)
+ return NULL;
+
+ if (_PyTime_AsTimespec(t, &tp) == -1)
return NULL;
- tp.tv_sec = tv_sec;
- tp.tv_nsec = tv_nsec;
ret = clock_settime((clockid_t)clk_id, &tp);
if (ret != 0) {
diff --git a/Python/pytime.c b/Python/pytime.c
index 27004f3..0f05db4 100644
--- a/Python/pytime.c
+++ b/Python/pytime.c
@@ -251,23 +251,6 @@ _PyTime_ObjectToTimeval(PyObject *obj, time_t *sec, long *usec,
return _PyTime_ObjectToDenominator(obj, sec, usec, 1e6, round);
}
-void
-_PyTime_AddDouble(_PyTime_timeval *tv, double interval, _PyTime_round_t round)
-{
- _PyTime_timeval tv2;
- double frac;
-
- frac = fmod(interval, 1.0);
- interval = floor(interval);
- tv2.tv_sec = (long)interval;
- tv2.tv_usec = (long)(frac*1e6);
-
- tv->tv_sec += tv2.tv_sec;
- tv->tv_usec += tv2.tv_usec;
- tv->tv_sec += (time_t)(tv->tv_usec / SEC_TO_US);
- tv->tv_usec %= SEC_TO_US;
-}
-
/****************** NEW _PyTime_t API **********************/
static void