Last active
          October 3, 2024 16:11 
        
      - 
      
- 
        Save geertj/4325783 to your computer and use it in GitHub Desktop. 
Revisions
- 
        geertj renamed this gist Jan 17, 2013 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewingFile renamed without changes.
- 
        geertj created this gist Dec 18, 2012 .There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,19 @@ def socketpair(family=socket.AF_INET, type=socket.SOCK_STREAM, proto=0): """Emulate the Unix socketpair() function on Windows.""" # We create a connected TCP socket. Note the trick with setblocking(0) # that prevents us from having to create a thread. lsock = socket.socket(family, type, proto) lsock.bind(('localhost', 0)) lsock.listen(1) addr, port = lsock.getsockname() csock = socket.socket(family, type, proto) csock.setblocking(0) try: csock.connect((addr, port)) except socket.error, e: if e.errno != errno.WSAEWOULDBLOCK: raise ssock, addr = lsock.accept() csock.setblocking(1) lsock.close() return (ssock, csock)