Grant Edwards wrote: > Given a Unix file discriptor for an open TCP socket, I can't figure > out how to create a python 2.7 socket object like those returned by > socket.socket() > > Based on the docs, one might think that socket.fromfd() would do that > (since the docs say that's what it does):
[...] > Note that the socket.socket() object has a '_sock' attribute, which > appears to contain an object like that returned by socket.fromfd(): > > repr(osock._sock): > <socket object, fd=4, family=2, type=1, protocol=0> > > That prompts a question: given a "socket object" as returned by > socket.fromfd(), how does one create a "socket._socketobject object" > as returned by socket.socket()? The socket.py source reveals that you can do it like this: mysocket = socket.socket(_sock=socket.fromfd(...)) The code has from _socket import socket # actually a star import ... _realsocket = socket ... socket = _socketobject which looks very much like an ad-hoc hack gone permanent. -- https://mail.python.org/mailman/listinfo/python-list