1. 09 Nis, 2019 1 kayıt (commit)
    • Victor Stinner's avatar
      bpo-34373: Fix time.mktime() on AIX (GH-12726) · 8709490f
      Victor Stinner yazdı
      Fix time.mktime() error handling on AIX for year before 1970.
      
      Other changes:
      
      * mktime(): rename variable 'buf' to 'tm'.
      * _PyTime_localtime():
      
        * Use "localtime" rather than "ctime" in the error message
          (specific to AIX).
        * Always initialize errno to 0 just in case if localtime_r()
          doesn't set errno on error.
        * On AIX, avoid abs() which is limited to int type.
        * EINVAL constant is now always available.
      8709490f
  2. 28 Ara, 2018 1 kayıt (commit)
  3. 05 Kas, 2017 1 kayıt (commit)
  4. 02 Kas, 2017 1 kayıt (commit)
    • Victor Stinner's avatar
      bpo-31784: Implement PEP 564: add time.time_ns() (#3989) · c29b585f
      Victor Stinner yazdı
      Add new time functions:
      
      * time.clock_gettime_ns()
      * time.clock_settime_ns()
      * time.monotonic_ns()
      * time.perf_counter_ns()
      * time.process_time_ns()
      * time.time_ns()
      
      Add new _PyTime functions:
      
      * _PyTime_FromTimespec()
      * _PyTime_FromNanosecondsObject()
      * _PyTime_FromTimeval()
      
      Other changes:
      
      * Add also os.times() tests to test_os.
      * pytime_fromtimeval() and pytime_fromtimeval() now return
        _PyTime_MAX or _PyTime_MIN on overflow, rather than undefined
        behaviour
      * _PyTime_FromNanoseconds() parameter type changes from long long to
        _PyTime_t
      c29b585f
  5. 17 Eki, 2017 1 kayıt (commit)
  6. 16 Eki, 2017 1 kayıt (commit)
    • Victor Stinner's avatar
      bpo-31773: _PyTime_GetPerfCounter() uses _PyTime_t (GH-3983) · bdaeb7d2
      Victor Stinner yazdı
      * Rewrite win_perf_counter() to only use integers internally.
      * Add _PyTime_MulDiv() which compute "ticks * mul / div"
        in two parts (int part and remaining) to prevent integer overflow.
      * Clock frequency is checked at initialization for integer overflow.
      * Enhance also pymonotonic() to reduce the precision loss on macOS
        (mach_absolute_time() clock).
      bdaeb7d2
  7. 12 Eki, 2017 1 kayıt (commit)
  8. 11 Eki, 2017 1 kayıt (commit)
    • Victor Stinner's avatar
      Cleanup pytime.c (#3955) · 277c8406
      Victor Stinner yazdı
      * Move _PyTime_overflow() at the top
      * Move assertion on numerator into _PyTime_ObjectToDenominator()
      * PEP 7: add { ... } to if blocks
      277c8406
  9. 10 Eki, 2017 1 kayıt (commit)
  10. 15 Eyl, 2017 1 kayıt (commit)
    • Barry Warsaw's avatar
      bpo-31338 (#3374) · b2e57948
      Barry Warsaw yazdı
      * Add Py_UNREACHABLE() as an alias to abort().
      * Use Py_UNREACHABLE() instead of assert(0)
      * Convert more unreachable code to use Py_UNREACHABLE()
      * Document Py_UNREACHABLE() and a few other macros.
      b2e57948
  11. 08 Eyl, 2017 1 kayıt (commit)
  12. 07 Eyl, 2017 1 kayıt (commit)
  13. 06 Eyl, 2017 2 kayıt (commit)
  14. 21 Haz, 2017 1 kayıt (commit)
    • haney's avatar
      bpo-30183: Fixes HP-UX cc compilation error in pytime.c (#1351) · c90e9601
      haney yazdı
      * bpo-30183: Fixes HP-UX cc compilation error in pytime.c
      
      HP-UX does not support the CLOCK_MONOTONIC identifier, and will fail to
      compile:
      
          "Python/pytime.c", line 723: error #2020: identifier
          "CLOCK_MONOTONIC" is undefined
                const clockid_t clk_id = CLOCK_MONOTONIC;
      
      Add a new section for __hpux that calls 'gethrtime()' instead of
      'clock_gettime()'.
      
      * bpo-30183: Removes unnecessary return
      c90e9601
  15. 28 Eyl, 2016 1 kayıt (commit)
  16. 06 Eyl, 2016 2 kayıt (commit)
  17. 10 Kas, 2015 1 kayıt (commit)
  18. 07 Kas, 2015 1 kayıt (commit)
  19. 01 Eki, 2015 1 kayıt (commit)
    • Victor Stinner's avatar
      Fix _PyTime_AsTimevalStruct_impl() on OpenBSD · b7a8af20
      Victor Stinner yazdı
      On the x86 OpenBSD 5.8 buildbot, the integer overflow check is ignored. Copy
      the tv_sec variable into a Py_time_t variable instead of "simply" casting it to
      Py_time_t, to fix the integer overflow check.
      b7a8af20
  20. 30 Eyl, 2015 1 kayıt (commit)
  21. 29 Eyl, 2015 1 kayıt (commit)
  22. 18 Eyl, 2015 3 kayıt (commit)
    • Victor Stinner's avatar
      Issue #25155: Fix _PyTime_Divide() rounding · ec26f83f
      Victor Stinner yazdı
      _PyTime_Divide() rounding was wrong: copy code from Python default which has
      now much better unit tests.
      ec26f83f
    • Victor Stinner's avatar
      Issue #25155: Add _PyTime_AsTimevalTime_t() function · 9a8b177e
      Victor Stinner yazdı
      On Windows, the tv_sec field of the timeval structure has the type C long,
      whereas it has the type C time_t on all other platforms. A C long has a size of
      32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not
      enough to store an Epoch timestamp after the year 2038.
      
      Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now():
      convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t.
      It allows to support dates after the year 2038 on Windows.
      
      Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of
      seconds when rounding the number of microseconds.
      9a8b177e
    • Victor Stinner's avatar
      Issue #25155: Add _PyTime_AsTimevalTime_t() function · 1e2b6882
      Victor Stinner yazdı
      On Windows, the tv_sec field of the timeval structure has the type C long,
      whereas it has the type C time_t on all other platforms. A C long has a size of
      32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not
      enough to store an Epoch timestamp after the year 2038.
      
      Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now():
      convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t.
      It allows to support dates after the year 2038 on Windows.
      
      Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of
      seconds when rounding the number of microseconds.
      1e2b6882
  23. 10 Eyl, 2015 5 kayıt (commit)
  24. 09 Eyl, 2015 3 kayıt (commit)
  25. 08 Eyl, 2015 1 kayıt (commit)
    • Victor Stinner's avatar
      Issue #23517: fromtimestamp() and utcfromtimestamp() methods of · 7667f581
      Victor Stinner yazdı
      datetime.datetime now round microseconds to nearest with ties going to nearest
      even integer (ROUND_HALF_EVEN), as round(float), instead of rounding towards
      -Infinity (ROUND_FLOOR).
      
      pytime API: replace _PyTime_ROUND_HALF_UP with _PyTime_ROUND_HALF_EVEN. Fix
      also _PyTime_Divide() for negative numbers.
      
      _PyTime_AsTimeval_impl() now reuses _PyTime_Divide() instead of reimplementing
      rounding modes.
      7667f581
  26. 04 Eyl, 2015 1 kayıt (commit)
  27. 03 Eyl, 2015 2 kayıt (commit)
  28. 02 Eyl, 2015 2 kayıt (commit)
    • Victor Stinner's avatar
      oops, rename pymonotonic_new() to pymonotonic() · 5ad5821d
      Victor Stinner yazdı
      I was not supposed to commit the function with the name pymonotonic_new(). I
      forgot to rename it.
      5ad5821d
    • Victor Stinner's avatar
      Issue #24707: Remove assertion in monotonic clock · c3c616c3
      Victor Stinner yazdı
      Don't check anymore at runtime that the monotonic clock doesn't go backward.
      Yes, it happens. It occurs sometimes each month on a Debian buildbot slave
      running in a VM.
      
      The problem is that Python cannot do anything useful if a monotonic clock goes
      backward. It was decided in the PEP 418 to not fix the system, but only expose
      the clock provided by the OS.
      c3c616c3