Issue #2951 has been updated by swildner.

Yes, my bad, sorry. I messed up the patch with some last minute changes which I 
didn't test properly.

Please remove the changes to kern_time.c in your tree and apply this diff 
instead -> https://leaf.dragonflybsd.org/~swildner/process_cputime2.diff

I've tested it and it seems to work here.

It will only fix CLOCK_PROCESS_CPUTIME_ID.


----------------------------------------
Bug #2951: clock_gettime always repots 0 sec, 0 nsec
http://bugs.dragonflybsd.org/issues/2951#change-12987

* Author: zhtw
* Status: New
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
When called with CLOCK_PROF, clock_gettime always returns 0 sec, 0 nsec:

$ uname -a
DragonFly kl.zta.lk 4.6-RELEASE DragonFly v4.6.0.10.g16fba-RELEASE #10: Wed Aug 
17 14:26:31 CEST 2016     r...@kl.zta.lk:/usr/obj/usr/src/sys/X86_64_GENERIC  
x86_64
$ cat time.c
#include <sys/time.h>
#include <stdio.h>

int main()
{
  struct timespec ts;
  struct timespec *tp = &ts;

  for (int i = 0; i != 1000000; ++i)
    for (int j = 0; j != 1000; ++j)
      ;

  int err = clock_gettime(CLOCK_PROF, tp);

  printf("err: %d\n", err);

  printf("sec: %ld\n", ts.tv_sec);
  printf("nsec: %ld\n", ts.tv_nsec);
}
$ cc -pedantic -Wall time.c 
$ ./a.out 
err: 0
sec: 0
nsec: 0

The same program on a FreeBSD machine seems to work:
$ uname -a
FreeBSD fbsd 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 
UTC 2014     r...@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
$ cc -pedantic -Wall time.c
$ ./a.out 
err: 0
sec: 1
nsec: 604478000




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://bugs.dragonflybsd.org/my/account

Reply via email to