[PATCH 1 of 4 V2] util: add a simple poll utility
adrian at cadifra.com
Thu Jun 4 00:37:15 CDT 2015
On 2015-06-04 03:57, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at fb.com>
> # Date 1432162805 18000
> # Wed May 20 18:00:05 2015 -0500
> # Node ID 9d7dc60dc701d327ddda449e7455e85513d5df5b
> # Parent 443d4635e630cf5603afb6ba4bfcf6a0d68cd7a6
> util: add a simple poll utility
> We'll use it to detect when a sshpeer have server output to be displayed.
> The implementation is super basic because all case support is not the focus of
> this series.
> diff --git a/mercurial/posix.py b/mercurial/posix.py
> --- a/mercurial/posix.py
> +++ b/mercurial/posix.py
> diff --git a/mercurial/windows.py b/mercurial/windows.py
> --- a/mercurial/windows.py
> +++ b/mercurial/windows.py
> @@ -369,10 +369,20 @@ def statislink(st):
> def statisexec(st):
> '''check whether a stat result is an executable file'''
> return False
> +def poll(fds):
> + """block until something happened on any filedescriptors
I think you can drop the rest of the doc string. Or perhaps instead
refer to posix module (in order to avoid comment duplication).
> + This is a generic helper that will check for any activity
> + (read, write. exception). return the list of touched file.
> + In unsupported case raise a NotImplementedError"""
> + if os.name == 'nt': # we do not support windows yet.
> + raise NotImplementedError()
os.name is always 'nt' inside this module, so this can be simplified to:
(Nitpick: I think the comment ("we do not support windows yet.") is
unneeded. If you want to keep it: The correct name of that OS is 'Windows')
> def readpipe(pipe):
> """Read all available data from a pipe."""
> chunks = 
> while True:
> size = win32.peekpipe(pipe)
More information about the Mercurial-devel