Issue #15413: os.times() had disappeared under Windows.
This commit is contained in:
parent
4c66896553
commit
f3923e9dd7
@ -52,6 +52,8 @@ Core and Builtins
|
|||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #15413: os.times() had disappeared under Windows.
|
||||||
|
|
||||||
- Issue #15402: An issue in the struct module that caused sys.getsizeof to
|
- Issue #15402: An issue in the struct module that caused sys.getsizeof to
|
||||||
return incorrect results for struct.Struct instances has been fixed.
|
return incorrect results for struct.Struct instances has been fixed.
|
||||||
Initial patch by Serhiy Storchaka.
|
Initial patch by Serhiy Storchaka.
|
||||||
|
@ -7453,8 +7453,11 @@ static PyStructSequence_Desc times_result_desc = {
|
|||||||
|
|
||||||
static PyTypeObject TimesResultType;
|
static PyTypeObject TimesResultType;
|
||||||
|
|
||||||
|
#ifdef MS_WINDOWS
|
||||||
|
#define HAVE_TIMES /* mandatory, for the method table */
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_TIMES) || defined(MS_WINDOWS)
|
#ifdef HAVE_TIMES
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
build_times_result(double user, double system,
|
build_times_result(double user, double system,
|
||||||
@ -7492,10 +7495,6 @@ Return an object containing floating point numbers indicating process\n\
|
|||||||
times. The object behaves like a named tuple with these fields:\n\
|
times. The object behaves like a named tuple with these fields:\n\
|
||||||
(utime, stime, cutime, cstime, elapsed_time)");
|
(utime, stime, cutime, cstime, elapsed_time)");
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_TIMES
|
|
||||||
#if defined(PYCC_VACPP) && defined(PYOS_OS2)
|
#if defined(PYCC_VACPP) && defined(PYOS_OS2)
|
||||||
static long
|
static long
|
||||||
system_uptime(void)
|
system_uptime(void)
|
||||||
@ -7520,26 +7519,6 @@ posix_times(PyObject *self, PyObject *noargs)
|
|||||||
(double)0 /* t.tms_cstime / HZ */,
|
(double)0 /* t.tms_cstime / HZ */,
|
||||||
(double)system_uptime() / 1000);
|
(double)system_uptime() / 1000);
|
||||||
}
|
}
|
||||||
#else /* not OS2 */
|
|
||||||
#define NEED_TICKS_PER_SECOND
|
|
||||||
static long ticks_per_second = -1;
|
|
||||||
static PyObject *
|
|
||||||
posix_times(PyObject *self, PyObject *noargs)
|
|
||||||
{
|
|
||||||
struct tms t;
|
|
||||||
clock_t c;
|
|
||||||
errno = 0;
|
|
||||||
c = times(&t);
|
|
||||||
if (c == (clock_t) -1)
|
|
||||||
return posix_error();
|
|
||||||
return build_times_result(
|
|
||||||
(double)t.tms_utime / ticks_per_second,
|
|
||||||
(double)t.tms_stime / ticks_per_second,
|
|
||||||
(double)t.tms_cutime / ticks_per_second,
|
|
||||||
(double)t.tms_cstime / ticks_per_second,
|
|
||||||
(double)c / ticks_per_second);
|
|
||||||
}
|
|
||||||
#endif /* not OS2 */
|
|
||||||
#elif defined(MS_WINDOWS)
|
#elif defined(MS_WINDOWS)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
posix_times(PyObject *self, PyObject *noargs)
|
posix_times(PyObject *self, PyObject *noargs)
|
||||||
@ -7562,8 +7541,29 @@ posix_times(PyObject *self, PyObject *noargs)
|
|||||||
(double)0,
|
(double)0,
|
||||||
(double)0);
|
(double)0);
|
||||||
}
|
}
|
||||||
|
#else /* Neither Windows nor OS/2 */
|
||||||
|
#define NEED_TICKS_PER_SECOND
|
||||||
|
static long ticks_per_second = -1;
|
||||||
|
static PyObject *
|
||||||
|
posix_times(PyObject *self, PyObject *noargs)
|
||||||
|
{
|
||||||
|
struct tms t;
|
||||||
|
clock_t c;
|
||||||
|
errno = 0;
|
||||||
|
c = times(&t);
|
||||||
|
if (c == (clock_t) -1)
|
||||||
|
return posix_error();
|
||||||
|
return build_times_result(
|
||||||
|
(double)t.tms_utime / ticks_per_second,
|
||||||
|
(double)t.tms_stime / ticks_per_second,
|
||||||
|
(double)t.tms_cutime / ticks_per_second,
|
||||||
|
(double)t.tms_cstime / ticks_per_second,
|
||||||
|
(double)c / ticks_per_second);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* HAVE_TIMES */
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_GETSID
|
#ifdef HAVE_GETSID
|
||||||
PyDoc_STRVAR(posix_getsid__doc__,
|
PyDoc_STRVAR(posix_getsid__doc__,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user