commit | fb6aa9a54fa455d8e8b9e3971b1738afabab2679 | [log] [tgz] |
---|---|---|
author | Edward Thomson <ethomson@microsoft.com> | Wed Mar 18 14:10:41 2015 |
committer | Edward Thomson <ethomson@microsoft.com> | Wed Mar 18 19:01:55 2015 |
tree | 5ea9406e108894104fd44f688d90f7d089809a6d | |
parent | b21930f4d797342b14d1b827498383e7b213caf1 [diff] |
poll: honor the timeout on Win32 Ensure that when passing a pipe, the gnulib poll replacement will not return 0 before the timeout has passed. Not obeying the timeout (and merely returning 0) causes pathological behavior when preparing a packfile for a repository and taking a long time to do so. If poll were to return 0 immediately, this would cause keep-alives to get sent as quickly as possible until the packfile was created. Such deviance from the standard would cause megabytes (or more) of keep-alive packets to be sent. GetTickCount is used as it is efficient, stable and monotonically increasing. (Neither GetSystemTime nor QueryPerformanceCounter have all three of these properties.)
This is the source code of Git for Windows, forked from Git.
Please note that the Git for Windows project will soon switch to another development environment and that the upcoming Git for Windows 2.* will be maintained here.
If you encounter problems, you can report them as GitHub issues, discuss them on Git for Windows' Google Group, and for bigger tasks, hire developers via the mailing list.