]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-123974: Fix time.get_clock_info() on NetBSD (GH-123975) (#124073)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 13 Sep 2024 20:54:09 +0000 (22:54 +0200)
committerGitHub <noreply@github.com>
Fri, 13 Sep 2024 20:54:09 +0000 (20:54 +0000)
gh-123974: Fix time.get_clock_info() on NetBSD (GH-123975)

Fix OSError for thread_time clock on NetBSD by setting default resolution.
(cherry picked from commit b1d6f8a2ee04215c64aa8752cc515b7e98a08d28)

Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
Modules/timemodule.c

index 8613fccfe0224955b8d78d2c7c18af9c454f0a38..124efc8364bfd74de2d7bff5ea6acfb94d77312b 100644 (file)
@@ -1525,15 +1525,19 @@ _PyTime_GetThreadTimeWithInfo(_PyTime_t *tp, _Py_clock_info_t *info)
         return -1;
     }
     if (info) {
-        struct timespec res;
         info->implementation = function;
         info->monotonic = 1;
         info->adjustable = 0;
+    #if defined(__NetBSD__)
+        info->resolution = 1e-9;
+    #else
+        struct timespec res;
         if (clock_getres(clk_id, &res)) {
             PyErr_SetFromErrno(PyExc_OSError);
             return -1;
         }
         info->resolution = res.tv_sec + res.tv_nsec * 1e-9;
+    #endif
     }
 
     if (_PyTime_FromTimespec(tp, &ts) < 0) {