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 <qu...@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. I tried to write some lightweight wrapper around them, then discovered I was basically reinventing things. SocketServer has too many issues and is over complicated for our usecase, but the Python 3 "selectors" interface looks not that bad. So I think it's okay to reuse a mature library. If it still looks too complicated, I think we can remove some selectors, like removing JythonSelectSelector, epoll, devpoll. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel