# HG changeset patch # User Yuya Nishihara # Date 1543840279 -32400 # Node ID d1bda397df7330fb192a94dcb0801928a2492074 # Parent d9fc51f77cc558f4a687f51e5ebd7d424688f917 selectors2: backport minimal fix of timeout handling from 2.0.1 The original code would raise TypeError since OSError() doesn't support keyword arguments. We can't simply import the selectors 2.0.1, which still spawns "uname -p" through platform.system(). We could switch to the unreleased version, but I decided to not right now to minimize the change. diff -r d9fc51f77cc5 -r d1bda397df73 mercurial/thirdparty/selectors2.py --- a/mercurial/thirdparty/selectors2.py Wed Nov 14 10:12:43 2018 -0500 +++ b/mercurial/thirdparty/selectors2.py Mon Dec 03 21:31:19 2018 +0900 @@ -708,7 +708,7 @@ if expires is not None: current_time = monotonic() if current_time > expires: - raise OSError(errno=errno.ETIMEDOUT) + raise OSError(errno.ETIMEDOUT, 'Connection timed out') if recalc_timeout: if "timeout" in kwargs: kwargs["timeout"] = expires - current_time