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 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/

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]