diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2012-04-02 22:45:07 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2012-04-02 22:45:07 (GMT) |
commit | 30d79471bbc97e81b123806d41f1e14ba54062cf (patch) | |
tree | bdd8ce5b02700e4f5f7c76c46161567c313cd46a /Modules/timemodule.c | |
parent | 1470f35bc62c3cf21b209fa8e353d8ea9e71b46b (diff) | |
download | cpython-30d79471bbc97e81b123806d41f1e14ba54062cf.zip cpython-30d79471bbc97e81b123806d41f1e14ba54062cf.tar.gz cpython-30d79471bbc97e81b123806d41f1e14ba54062cf.tar.bz2 |
Expose clock_settime() as time.clock_settime()
Diffstat (limited to 'Modules/timemodule.c')
-rw-r--r-- | Modules/timemodule.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Modules/timemodule.c b/Modules/timemodule.c index 0fe1b17..23f3ddd 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -158,6 +158,33 @@ PyDoc_STRVAR(clock_gettime_doc, "clock_gettime(clk_id) -> floating point number\n\ \n\ Return the time of the specified clock clk_id."); + +static PyObject * +time_clock_settime(PyObject *self, PyObject *args) +{ + clockid_t clk_id; + PyObject *obj; + struct timespec tp; + int ret; + + if (!PyArg_ParseTuple(args, "iO:clock_settime", &clk_id, &obj)) + return NULL; + + if (_PyTime_ObjectToTimespec(obj, &tp.tv_sec, &tp.tv_nsec) == -1) + return NULL; + + ret = clock_settime((clockid_t)clk_id, &tp); + if (ret != 0) { + PyErr_SetFromErrno(PyExc_IOError); + return NULL; + } + Py_RETURN_NONE; +} + +PyDoc_STRVAR(clock_settime_doc, +"clock_settime(clk_id, time)\n\ +\n\ +Set the time of the specified clock clk_id."); #endif #ifdef HAVE_CLOCK_GETRES @@ -983,6 +1010,9 @@ static PyMethodDef time_methods[] = { #ifdef HAVE_CLOCK_GETTIME {"clock_gettime", time_clock_gettime, METH_VARARGS, clock_gettime_doc}, #endif +#ifdef HAVE_CLOCK_GETTIME + {"clock_settime", time_clock_settime, METH_VARARGS, clock_settime_doc}, +#endif #ifdef HAVE_CLOCK_GETRES {"clock_getres", time_clock_getres, METH_VARARGS, clock_getres_doc}, #endif |