Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 24 Jun 2002 04:54:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 24 Jun 2002 04:54:33 -0400 Received: from smtp2.tivoli.com ([216.140.178.3]:45517 "HELO smtp2.tivoli.com") by vger.kernel.org with SMTP id ; Mon, 24 Jun 2002 04:54:32 -0400 Message-ID: <3D16DE83.3060409@tiscalinet.it> Date: Mon, 24 Jun 2002 10:55:31 +0200 From: "Salvatore D'Angelo" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020513 Netscape/7.0b1 X-Accept-Language: en-us, en MIME-Version: 1.0 To: linux-kernel@vger.kernel.org Subject: gettimeofday problem Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1396 Lines: 53 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. 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 #include // 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; } } } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/