[PATCH 2 of 2] commandserver: use selector2

Sean Farley sean at farley.io
Sat Jul 15 14:29:28 EDT 2017


Yuya Nishihara <yuya at tcha.org> writes:

> On Fri, 14 Jul 2017 21:18:48 -0700, Jun Wu wrote:
>> Excerpts from Yuya Nishihara's message of 2017-07-15 12:37:39 +0900:
>> > On Fri, 14 Jul 2017 20:27:27 -0700, Jun Wu wrote:
>> > > # HG changeset patch
>> > > # User Jun Wu <quark at fb.com>
>> > > # Date 1500089181 25200
>> > > #      Fri Jul 14 20:26:21 2017 -0700
>> > > # Node ID a6545c15171810059596259f60574011184c3412
>> > > # Parent  5664763de82b48ca6882bbb624d01d467b4920d0
>> > > # Available At https://bitbucket.org/quark-zju/hg-draft 
>> > > #              hg pull https://bitbucket.org/quark-zju/hg-draft  -r a6545c151718
>> > > commandserver: use selector2
>> > > 
>> > > Previously, commandserver was using select.select. That could have issue if
>> > > _sock.fileno() >= FD_SETSIZE (usually 1024), which raises:
>> > > 
>> > >   ValueError: filedescriptor out of range in select()
>> > 
>> > Can we get around it without vendoring selector2, by using poll() for example?
>> 
>> poll is not available on OS X, which we need to support.
>
> Oh, miserable fork of BSD.

For those curious, as I was, here is an article explaining which macOS
versions has a working version:

https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken/

tl;dr Sierra was only fixed this last January.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20170715/8ef80fc3/attachment.sig>


More information about the Mercurial-devel mailing list