Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Option to remove poll support from Python #4548

Closed
ynadji opened this Issue · 8 comments

4 participants

@ynadji

See the commit here: ynadji@14bc293

It's obviously not a perfect solution, but:
1.) It's what Apple does.
2.) It's what Macports does.
3.) It's been a bug in python since 2009 and I doubt it'll get fixed anytime soon.

Thoughts? Suggestions? Apple has an ed script[*] they use to perform this regex as well as other options. I only included the POLL regex as I was weary of removing too much and breaking python further down the road.

*: http://www.opensource.apple.com/source/python/python-30.1.2/fix/pyconfig.ed

Commit text:

Add option to python formula to remove poll

Apple's implementation of poll does not support devices, which causes socket
operations that rely on a properly functioning poll to fail with Errno 35 [2].
This creates an option to strip out poll entirely, which is what Apple does
for the binaries they package with the OS [1].

1: https://svn.macports.org/ticket/18376
2: http://bugs.python.org/issue5154

@adamv
Owner

When does this error manifest itself? Using twisted?

@ynadji

Most of the time I see it is when socket.sendall is used. Searching google for "errno 35 python mac os x" shows the error in a variety of projects. I haven't seen or personally encountered this problem in Twisted.

@mikemcquaid
Owner

Seems reasonable to me if Apple do it. There an upstream bug for this?

@adamv
Owner

Pulled.

@adamv adamv closed this
@sawall

fyi, python.org closed issue 5154 as "will not fix"
http://bugs.python.org/issue5154

@ynadji

Interesting. That pushes a lot of the burden on large app/library developers to support OS X. Nonetheless, the option should remain in homebrew.

@mikemcquaid
Owner

Do Apple still do this? That's the only thing that convinces me this is still worth doing.

@sawall

@ynadji: Yes, it's strange this was not dealt with by python. I totally agree the option should remain in Homebrew. It's necessary for some third party libraries - I came across this because I couldn't get a library that used simple socket calls to upload files to work.

@mikemcquaid: Apple does still appear to do this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.