All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Salvatore D'Angelo" <dangelo.sasaman@tiscalinet.it>
To: Chris McDonald <chris@cs.uwa.edu.au>
Cc: linux-kernel@vger.kernel.org
Subject: Re: gettimeofday problem
Date: Mon, 24 Jun 2002 12:20:02 +0200	[thread overview]
Message-ID: <3D16F252.90309@tiscalinet.it> (raw)
In-Reply-To: 200206240934.g5O9YL524660@budgie.cs.uwa.edu.au

In this piece of code I convert seconds and microseconds in 
milliseconds. I think the problem is not in my code, in fact I wrote the 
following piece of code in Java, and it does not work too. In the for 
loop the 90% of times b > a while for 10% of times not.

    class Prova {
          public static void main(....) {
               for (;;) {
                    long a = System.currentTimeMillis();
                    long b = System.currentTimeMillis();

                    if (a > b) {
                         System.out.println("Wrong!!!!!!!!!!!!!");
                    }
               }
          }
    }


Chris McDonald wrote:

>In linux.kernel you write:
>
>  
>
>>Hi,
>>    
>>
>
>  
>
>>I am writing a small piece of code that use the gettimeofday routine and 
>>I have noticed a very strange behaviour. If I call the routine two times 
>>in sequence I expect that the second value is greater than or equal to 
>>the first one, but it is not true.
>>    
>>
>
>Perhaps because tv_usecs are MICROsecs, not MILLIsecs ?
>
>_______________________________________________________________________________
>                  Dr Chris McDonald   EMAIL:  chris@csse.uwa.edu.au
>     Department of Computer Science & Software Engineering
>The University of Western Australia   WWW: http://www.csse.uwa.edu.au/~chris
>   Crawley, Western Australia, 6009   PH: +61 8 9380 2533, FAX: +61 8 9380 1089
>
>
>  
>
>>please check the following code.
>>    
>>
>
>  
>
>>Sometimes happen that the string "Strange Behaviour" is printed with 
>>kernel 2.4.18.
>>    
>>
>
>  
>
>>I tried to find in the Linux Archive patches to solve this problem,  but 
>>I didn't find anything (there are emails that talk about gettimeofday, 
>>but probably they do not answer to my questions).
>>    
>>
>
>  
>
>>The same thing happen in Java using the System.currentTimeMillis() routine.
>>    
>>
>
>  
>
>>#include <fstream.h>
>>#include <sys/time.h>
>>    
>>
>
>  
>
>>// this routine calculate the current time returning its value in long 
>>long format.
>>long long currentTimeMillis() {
>>  long long t;
>>  struct timeval tv;
>>    
>>
>
>  
>
>>  gettimeofday(&tv, 0);
>>    
>>
>
>  
>
>>  t = tv.tv_sec;
>>  t = (t *1000) + (tv.tv_usec/1000);
>>    
>>
>
>  
>
>>  return t;
>>}
>>    
>>
>
>  
>
>>void main() {
>>  for (;;) {
>>      long long a = currentTimeMillis();
>>      long long b = currentTimeMillis();
>>    
>>
>
>  
>
>>      if (a>b) {
>>          cout << "Strange Behaviour" << endl;
>>      }
>>  }
>>}
>>    
>>
>
>  
>



  parent reply	other threads:[~2002-06-24 10:47 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-24  8:55 gettimeofday problem Salvatore D'Angelo
     [not found] ` <200206240934.g5O9YL524660@budgie.cs.uwa.edu.au>
2002-06-24 10:20   ` Salvatore D'Angelo [this message]
2002-06-24 12:46     ` Matti Aarnio
2002-06-24 13:57       ` Salvatore D'Angelo
2002-06-24 18:56         ` Karim Yaghmour
2002-06-26 11:01           ` Gabriel Paubert
2002-07-01  2:30         ` Pavel Machek
2002-07-01  2:29       ` Pavel Machek
2002-06-24 19:44     ` Richard B. Johnson
2002-06-24 23:34       ` Frank van de Pol
2002-06-25 11:42         ` Richard B. Johnson
2002-06-28 18:04           ` george anzinger
2002-06-25 13:36       ` Chris Friesen
2002-06-26 10:58         ` Gabriel Paubert
  -- strict thread matches above, loose matches on Subject: below --
2002-06-25  0:37 Christian Robert
2002-06-25  0:43 ` Brad Hards
2002-06-25  2:03   ` Christian Robert
2002-06-25  2:47     ` John Alvord
2002-06-25  9:17       ` Christian Robert
2002-06-25 10:00         ` Jan Hudec
2002-07-19 12:17           ` Amos Waterland
2002-06-25 11:45   ` Richard B. Johnson
2002-06-25 11:50     ` Brad Hards

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D16F252.90309@tiscalinet.it \
    --to=dangelo.sasaman@tiscalinet.it \
    --cc=chris@cs.uwa.edu.au \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.