Issue 35455: Solaris: thread_time doesn't work with current implementation (original) (raw)

Created on 2018-12-10 14:32 by kulikjak, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
thread_time.diff kulikjak,2018-12-10 14:32 Possible patch
Pull Requests
URL Status Linked Edit
PR 11118 merged kulikjak,2018-12-11 12:48
PR 23130 merged miss-islington,2020-11-03 15:13
PR 23145 merged kulikjak,2020-11-04 13:29
Messages (10)
msg331509 - (view) Author: Jakub Kulik (kulikjak) * Date: 2018-12-10 14:32
Implementation of time.thread_time() doesn't work on Solaris because clock_id CLOCK_THREAD_CPUTIME_ID is not known (it is defined, but clock_gettime returns EINVAL error). Solaris, however, has function gethrvtime() which can substitute this functionality. I attached a possible patch which does work during tests and I further tested it with some basic scripts.
msg346027 - (view) Author: Jakub Kulik (kulikjak) * Date: 2019-06-19 08:16
Since I created this pull request, clock_gettime(CLOCK_THREAD_CPUTIME_ID, ..) was implemented into the Solaris kernel, so I guess that this is no longer relevant.
msg365635 - (view) Author: Batuhan Taskaya (BTaskaya) * (Python committer) Date: 2020-04-02 22:06
This issue is still valid under other solaris/sunos versions. @kulikjak are you still interested in resolving this issue?
msg366000 - (view) Author: Jakub Kulik (kulikjak) * Date: 2020-04-08 18:33
I was speaking for Oracle Solaris 11.4, where CLOCK_THREAD_CPUTIME_ID is now implemented (and we don't need it in older releases). But you are right that other Solaris/SunOS versions might not have this and hence would find this useful. I can rebase and reopen the original PR, but I cannot test it that well now that our Solaris doesn't use that part of the code (I can change the #define for testing, that should be sufficient).
msg366001 - (view) Author: Jakub Kulik (kulikjak) * Date: 2020-04-08 18:38
Correction: looking at the PR, I made it so that it checks for SunOS, so even with CLOCK_THREAD_CPUTIME_ID available, new code would be executed. So if you believe that this should be implemented for other SunOSes, I can do it ;).
msg380213 - (view) Author: Jakub Kulik (kulikjak) * Date: 2020-11-02 12:01
Comment from https://bugs.python.org/issue42173#msg380205 confirmed that this issue is still relevant to Illumos based systems. Because of that, I am happy to resolve it.
msg380255 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-11-02 23:10
New changeset 9568622c9983b682b2a2a7bacfd3c341028ea099 by Jakub Kulík in branch 'master': bpo-35455: Fix thread_time for Solaris OS (GH-11118) https://github.com/python/cpython/commit/9568622c9983b682b2a2a7bacfd3c341028ea099
msg380264 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2020-11-03 07:29
Perhaps we should also use gethrtime() and gethrvtime() on HP-UX, but this is a different issue.
msg380321 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-11-04 13:16
New changeset 72bb4c6c1fc5f5209819a2e62d55475ddc888192 by Miss Skeleton (bot) in branch '3.9': bpo-35455: Fix thread_time for Solaris OS (GH-11118) (GH-23130) https://github.com/python/cpython/commit/72bb4c6c1fc5f5209819a2e62d55475ddc888192
msg380326 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-11-04 14:19
New changeset a12f459ec2a31b96a21c735eb18f3d0fd19e99ff by Jakub Kulík in branch '3.8': [3.8] bpo-35455: Fix thread_time for Solaris OS (GH-11118). (GH-23145) https://github.com/python/cpython/commit/a12f459ec2a31b96a21c735eb18f3d0fd19e99ff
History
Date User Action Args
2022-04-11 14:59:09 admin set github: 79636
2020-11-04 14:19:21 pablogsal set messages: +
2020-11-04 13:33:35 kulikjak set versions: - Python 3.7
2020-11-04 13:29:28 kulikjak set pull_requests: + <pull%5Frequest22057>
2020-11-04 13:16:33 pablogsal set messages: +
2020-11-03 15:13:46 miss-islington set nosy: + miss-islingtonpull_requests: + <pull%5Frequest22046>
2020-11-03 07:29:06 serhiy.storchaka set nosy: + serhiy.storchakamessages: +
2020-11-02 23:10:46 pablogsal set status: open -> closedresolution: fixed
2020-11-02 23:10:17 pablogsal set nosy: + pablogsalmessages: +
2020-11-02 12:05:57 kulikjak set versions: + Python 3.10
2020-11-02 12:02:33 kulikjak set title: Solaris thread_time doesn't work with current implementation -> Solaris: thread_time doesn't work with current implementation
2020-11-02 12:01:40 kulikjak set messages: +
2020-04-08 18:38:35 kulikjak set messages: +
2020-04-08 18:33:07 kulikjak set messages: +
2020-04-02 22:06:18 BTaskaya set status: closed -> openversions: + Python 3.9nosy: + BTaskayamessages: + resolution: not a bug -> (no value)
2019-06-19 08:16:11 kulikjak set status: open -> closedresolution: not a bugmessages: + stage: patch review -> resolved
2018-12-11 15:40:15 kulikjak set versions: + Python 3.8
2018-12-11 12:48:31 kulikjak set stage: patch reviewpull_requests: + <pull%5Frequest10347>
2018-12-11 10:22:59 kulikjak set type: crash
2018-12-10 14:32:21 kulikjak create