This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.7.5-1: problem with settimeofday() & gettimeofday()


On Wed, May 26, 2010 at 11:56:20AM -0400, Christopher Faylor wrote:
>On Wed, May 26, 2010 at 04:25:43PM +0200, Corinna Vinschen wrote:
>>On May 26 10:22, Christopher Faylor wrote:
>>> On Wed, May 26, 2010 at 04:02:45PM +0300, "??? ??????" wrote:
>>> >> Hello. It seems that I found a problem with settimeofday() and
>>> >> gettimeofday() calls in a single context. The problem is that if we
>>> >> set a new time with settimeofday() call it completes succefully and
>>> >> system time is updated. But then if we try to get current time with
>>> >> gettimeofday() call it returns old time!
>>> >
>>> >I've looked into 'times.cc' and found that 'hires_ms gtod' timer
>>> >(which is used in gettimeofday()) is not reset with
>>> >'hires_ms::prime()' in settimeofday() after system call to Win32 API
>>> >SetSystemTime() function! I think this is the reason of described
>>> >behaviour.
>>> 
>>> That sounds right.  I'll check in a fix shortly.
>>
>>What happens in other, parallel processes which are calling gettimeofday
>>in a loop?
>
>I think we've always known that long-running cygwin processes did not
>deal with date/time changes correctly.  However, for cygwin processes, in
>the same session at least, I think that sharing the gtod variable should
>work.  In my limited testing it seems to.
>
>The most recent snapshot has this change as well as all of the stuff
>Corinna has done today:
>
>http://cygwin.com/snapshots/

Oh, I forgot to say: Thanks for the test case.  Those are always extremely
appreciated.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]