bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] poll: wait until timeout on pipes (win32)


From: Eli Zaretskii
Subject: Re: [PATCH] poll: wait until timeout on pipes (win32)
Date: Thu, 11 Sep 2014 19:51:59 +0300

> Date: Thu, 11 Sep 2014 16:24:53 +0000
> From: Edward Thomson <address@hidden>
> Cc: address@hidden
> 
> On Thu, Sep 11, 2014 at 06:18:19PM +0300, Eli Zaretskii wrote:
> > 
> > Are you using the latest gnulib?  A similar problem in 'socket' was
> > fixed about 3 months ago (see commit aaaf546); since 'poll' calls
> > 'select', perhaps that fix also solves your problems in 'poll'?
> 
> I'm afraid it does not; we use only the poll compatibility function,
> and not select.  We use the select in ws2_32.dll.

Maybe if you import the select module from gnulib, in addition to
poll, the problem will be solved?

> > I believe you alluded to the fact that GetTickCount is not affected by
> > system clock adjustments.  That is true, but it is not strictly
> > monotonically increasing: it wraps around after 49.7 days.  From the
> > MSDN documentation at
> > http://msdn.microsoft.com/en-us/library/windows/desktop/ms724408%28v=vs.85%29.aspx:
> 
> That's correct, but a wraparound during the sleep should be well handled
> since they're all unsigned types.

What happens if GetTickCount returns a small value, after the
wraparound, while 'start' has a large value before the wraparound?
Subtracting the latter from the former will give a very large positive
value, right?

> Is your concern that we cannot detect if we end up sleeping for 50
> days and cannot detect that we wrapped twice?

No, my concern is if you start the sleep 49.7 days after the system
was started.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]