mirror of
https://github.com/python/cpython.git
synced 2025-07-08 03:45:36 +00:00
gh-112567: Add _Py_GetTicksPerSecond() function (#112587)
* Move _PyRuntimeState.time to _posixstate.ticks_per_second and time_module_state.ticks_per_second. * Add time_module_state.clocks_per_second. * Rename _PyTime_GetClockWithInfo() to py_clock(). * Rename _PyTime_GetProcessTimeWithInfo() to py_process_time(). * Add process_time_times() helper function, called by py_process_time(). * os.times() is now always built: no longer rely on HAVE_TIMES.
This commit is contained in:
parent
a9073564ee
commit
05a370abd6
9 changed files with 142 additions and 125 deletions
|
@ -2943,3 +2943,27 @@ _Py_closerange(int first, int last)
|
|||
#endif /* USE_FDWALK */
|
||||
_Py_END_SUPPRESS_IPH
|
||||
}
|
||||
|
||||
|
||||
#ifndef MS_WINDOWS
|
||||
// Ticks per second used by clock() and times() functions.
|
||||
// See os.times() and time.process_time() implementations.
|
||||
int
|
||||
_Py_GetTicksPerSecond(long *ticks_per_second)
|
||||
{
|
||||
#if defined(HAVE_SYSCONF) && defined(_SC_CLK_TCK)
|
||||
long value = sysconf(_SC_CLK_TCK);
|
||||
if (value < 1) {
|
||||
return -1;
|
||||
}
|
||||
*ticks_per_second = value;
|
||||
#elif defined(HZ)
|
||||
assert(HZ >= 1);
|
||||
*ticks_per_second = HZ;
|
||||
#else
|
||||
// Magic fallback value; may be bogus
|
||||
*ticks_per_second = 60;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue